Compare commits

...

671 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
4336861678 Set up monitoring via Prometheus and Grafana 2023-03-23 07:43:07 +01:00
231a4b663e Use latest version of Gitea 2023-03-23 06:56:25 +01:00
d0a3ad118f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/eac7da7b519a5aefe92c33c90b4450a24ebe0ab3' (2023-03-19)
  → 'github:NixOS/nixpkgs/e2c97799da5f5cd87adfa5017fba971771e123ef' (2023-03-20)
2023-03-22 04:48:04 +01:00
5aae3e5c8d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/08ef7dc8334521605a5c8b7086cc248e74ee338b' (2023-03-18)
  → 'github:NixOS/nixpkgs/eac7da7b519a5aefe92c33c90b4450a24ebe0ab3' (2023-03-19)
2023-03-21 04:47:29 +01:00
417ee08b7d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/328c9c6f597b1edb75a114df61113d87c61ad60d' (2023-03-17)
  → 'github:NixOS/nixpkgs/08ef7dc8334521605a5c8b7086cc248e74ee338b' (2023-03-18)
2023-03-20 04:48:29 +01:00
6e5ae87971 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cd34d6ed7ba7d5c4e44b04a53dc97edb52f2766c' (2023-03-16)
  → 'github:NixOS/nixpkgs/328c9c6f597b1edb75a114df61113d87c61ad60d' (2023-03-17)
2023-03-19 04:48:16 +01:00
b0361b4718 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8' (2023-03-15)
  → 'github:NixOS/nixpkgs/cd34d6ed7ba7d5c4e44b04a53dc97edb52f2766c' (2023-03-16)
2023-03-18 04:47:46 +01:00
065f66cea7 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/67f26c1cfc5d5783628231e776a81c1ade623e0b' (2023-03-13)
  → 'github:NixOS/nixpkgs/9b8e5abb18324c7fe9f07cb100c3cd4a29cda8b8' (2023-03-15)
2023-03-16 04:50:34 +01:00
eaf42c0cbc flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/970402e6147c49603f4d06defe44d27fe51884ce' (2023-03-12)
  → 'github:NixOS/nixpkgs/67f26c1cfc5d5783628231e776a81c1ade623e0b' (2023-03-13)
2023-03-15 04:48:32 +01:00
53b0bd8185 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5eb98948b66de29f899c7fe27ae112a47964baf8' (2023-03-11)
  → 'github:NixOS/nixpkgs/970402e6147c49603f4d06defe44d27fe51884ce' (2023-03-12)
2023-03-14 04:46:44 +01:00
c806a17f21 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/824f886682fc893e6dbf27114e5001ebf2770ea1' (2023-03-10)
  → 'github:NixOS/nixpkgs/5eb98948b66de29f899c7fe27ae112a47964baf8' (2023-03-11)
2023-03-12 04:46:25 +01:00
d0ec63589c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a7cc81913bb3cd1ef05ed0ece048b773e1839e51' (2023-03-07)
  → 'github:NixOS/nixpkgs/824f886682fc893e6dbf27114e5001ebf2770ea1' (2023-03-10)
2023-03-11 04:48:20 +01:00
8cf07806db flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7edcdf7b169c33cd3eef9aba50521ce93ee666b8' (2023-03-06)
  → 'github:NixOS/nixpkgs/a7cc81913bb3cd1ef05ed0ece048b773e1839e51' (2023-03-07)
2023-03-09 04:47:26 +01:00
a78b9464df flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/47c003416297e4d59a5e3e7a8b15cdbdf5110560' (2023-03-06)
  → 'github:NixOS/nixpkgs/7edcdf7b169c33cd3eef9aba50521ce93ee666b8' (2023-03-06)
2023-03-08 04:48:23 +01:00
95d4cea4b3 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/96e18717904dfedcd884541e5a92bf9ff632cf39' (2023-03-02)
  → 'github:NixOS/nixpkgs/47c003416297e4d59a5e3e7a8b15cdbdf5110560' (2023-03-06)
2023-03-07 04:47:04 +01:00
bb3dbcfec5 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/4828951d9d05accd244bf8c24706f046b485aceb' (2023-02-26)
  → 'github:ryantm/agenix/03b51fe8e459a946c4b88dcfb6446e45efb2c24e' (2023-03-04)
2023-03-05 04:40:05 +01:00
248af053a2 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d70f5cd5c3bef45f7f52698f39e7cc7a89daa7f0' (2023-02-28)
  → 'github:NixOS/nixpkgs/96e18717904dfedcd884541e5a92bf9ff632cf39' (2023-03-02)
2023-03-04 04:47:19 +01:00
fe7eee317f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b26d52c9feb6476580016e78935cbf96eb3e2115' (2023-02-28)
  → 'github:NixOS/nixpkgs/d70f5cd5c3bef45f7f52698f39e7cc7a89daa7f0' (2023-02-28)
2023-03-01 23:37:11 +01:00
fe1b50cdc5 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8bd260eb578e3fea6bce158b24c93ab158d031e7' (2023-02-26)
  → 'github:NixOS/nixpkgs/b26d52c9feb6476580016e78935cbf96eb3e2115' (2023-02-28)
2023-03-01 04:48:39 +01:00
5dd876d76d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7076110064c09f0b3942f609f2134c1358ef2e50' (2023-02-25)
  → 'github:NixOS/nixpkgs/8bd260eb578e3fea6bce158b24c93ab158d031e7' (2023-02-26)
2023-02-28 04:50:51 +01:00
8b0aa0b5d3 Use zswap to increase responsiveness 2023-02-27 23:15:32 +01:00
1c6f4af430 Use overlay instead of ZFS for containers 2023-02-27 21:55:12 +01:00
2ec952360f flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/833f87c8ff574a29aea3e091045cbaed3cf86bc1' (2023-02-24)
  → 'github:ryantm/agenix/4828951d9d05accd244bf8c24706f046b485aceb' (2023-02-26)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/50c23cd4ff6c8344e0b4d438b027b3afabfe58dd' (2023-02-23)
  → 'github:NixOS/nixpkgs/7076110064c09f0b3942f609f2134c1358ef2e50' (2023-02-25)
2023-02-27 04:46:08 +01:00
714b3d4a20 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/c2a71c83c70844c5e31db69347e86af080bcdad0' (2023-02-23)
  → 'github:ryantm/agenix/833f87c8ff574a29aea3e091045cbaed3cf86bc1' (2023-02-24)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c95bf18beba4290af25c60cbaaceea1110d0f727' (2023-02-22)
  → 'github:NixOS/nixpkgs/50c23cd4ff6c8344e0b4d438b027b3afabfe58dd' (2023-02-23)
2023-02-25 04:46:55 +01:00
aa6679dba2 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/2d735d6518960aacb03d0364ea891bae6350cfe1' (2023-02-22)
  → 'github:ryantm/agenix/c2a71c83c70844c5e31db69347e86af080bcdad0' (2023-02-23)
2023-02-24 04:40:08 +01:00
65c869a73a flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/0c50bbe60e907c9a3a7512c591adc8e66f0393a0' (2023-02-21)
  → 'github:ryantm/agenix/2d735d6518960aacb03d0364ea891bae6350cfe1' (2023-02-22)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e19f25b587f15871d26442cfa1abe4418a815d7d' (2023-02-20)
  → 'github:NixOS/nixpkgs/c95bf18beba4290af25c60cbaaceea1110d0f727' (2023-02-22)
2023-02-23 04:48:24 +01:00
fe29b4137c flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/5f66c8aa774d8d488cba1cdc4f0c954d2a14e3a1' (2023-02-20)
  → 'github:ryantm/agenix/0c50bbe60e907c9a3a7512c591adc8e66f0393a0' (2023-02-21)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0cf4274b5d06325bd16dbf879a30981bc283e58a' (2023-02-19)
  → 'github:NixOS/nixpkgs/e19f25b587f15871d26442cfa1abe4418a815d7d' (2023-02-20)
2023-02-22 04:50:20 +01:00
68fa9ec21e Disable SSH password authentication 2023-02-20 17:13:12 +01:00
5d2bec9d58 Update hardware-configuration 2023-02-20 17:12:58 +01:00
d2ed4afa86 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/78a22dbc0d6a6b6864ce16e81e1df1b330e97655' (2023-02-18)
  → 'github:ryantm/agenix/2c56a93426107da97751a752da94ee55b5f6efe5' (2023-02-19)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/de5448dab588ad41aef40f8c7c0c230981656698' (2023-02-17)
  → 'github:NixOS/nixpkgs/e6d5772f3515b8518d50122471381feae7cbae36' (2023-02-18)
2023-02-20 04:48:11 +01:00
aa14ecbbfe flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/de657061b13cf329c57a1a9730a5049a971b40b3' (2023-02-17)
  → 'github:ryantm/agenix/78a22dbc0d6a6b6864ce16e81e1df1b330e97655' (2023-02-18)
2023-02-19 04:40:04 +01:00
57087ff557 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2fb7d749c084890192b2cd08ba264e5e4a14df1b' (2023-02-16)
  → 'github:NixOS/nixpkgs/de5448dab588ad41aef40f8c7c0c230981656698' (2023-02-17)
2023-02-18 21:39:45 +01:00
6841ce0fd2 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c43f676c938662072772339be6269226c77b51b8' (2023-02-14)
  → 'github:NixOS/nixpkgs/2fb7d749c084890192b2cd08ba264e5e4a14df1b' (2023-02-16)
2023-02-18 04:51:12 +01:00
ba0882e915 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/ea17cc71b4e1bc5b2601f210a1c85db9453ad723' (2023-02-11)
  → 'github:ryantm/agenix/de657061b13cf329c57a1a9730a5049a971b40b3' (2023-02-17)
2023-02-17 04:40:02 +01:00
2263671c67 Specify build host and directory in the makefile 2023-02-14 20:59:28 +01:00
63b442c6c9 Restart openbooks after the zpool mount 2023-02-14 20:59:08 +01:00
52d7f68cf7 Update hardware-configuration 2023-02-14 19:05:09 +01:00
b046b9d5a6 Fix openbooks book download 2023-02-12 14:57:02 +01:00
30166262d6 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/6053c559c59ca0ebd57330cd356964f85befaff8' (2023-02-11)
  → 'github:ryantm/agenix/ea17cc71b4e1bc5b2601f210a1c85db9453ad723' (2023-02-11)
2023-02-12 04:40:04 +01:00
716333682f flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/b7ffcfe77f817d9ee992640ba1f270718d197f28' (2023-01-31)
  → 'github:ryantm/agenix/6053c559c59ca0ebd57330cd356964f85befaff8' (2023-02-11)
2023-02-11 19:29:58 +01:00
46b1b8c01d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/af96094e9b8eb162d70a84fa3b39f4b7a8b264d2' (2023-02-07)
  → 'github:NixOS/nixpkgs/49efda9011e8cdcd6c1aad30384cb1dc230c82fe' (2023-02-09)
2023-02-11 04:46:44 +01:00
68def72266 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/13fdd3945d8a2da5e4afe35d8a629193a9680911' (2023-02-06)
  → 'github:NixOS/nixpkgs/af96094e9b8eb162d70a84fa3b39f4b7a8b264d2' (2023-02-07)
2023-02-09 04:47:35 +01:00
9841dc168a flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cff83d5032a21aad4f69bf284e95b5f564f4a54e' (2023-02-05)
  → 'github:NixOS/nixpkgs/13fdd3945d8a2da5e4afe35d8a629193a9680911' (2023-02-06)
2023-02-07 04:47:26 +01:00
02f4f0d80e Update hardware-configuration 2023-02-04 21:04:45 +01:00
2ba0ddcb49 Rename the agenix package due to upstream changes 2023-02-04 10:19:41 +01:00
01e0c8466f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/21efc622b939884db3c92f49d638ca89f12f22f8' (2023-02-02)
  → 'github:NixOS/nixpkgs/f7543a7539a007e9562e4d8d24e17a4bcf369b68' (2023-02-03)
2023-02-04 04:47:00 +01:00
4e4a20b978 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/285b3ff0660640575186a4086e1f8dc0df2874b5' (2023-02-01)
  → 'github:NixOS/nixpkgs/21efc622b939884db3c92f49d638ca89f12f22f8' (2023-02-02)
2023-02-03 21:18:07 +01:00
6ae3206a90 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0218941ea68b4c625533bead7bbb94ccce52dceb' (2023-01-31)
  → 'github:NixOS/nixpkgs/285b3ff0660640575186a4086e1f8dc0df2874b5' (2023-02-01)
2023-02-02 04:47:59 +01:00
ed2a425623 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/49798e535ebc07fec82256b283d35be36d8c6c9a' (2023-01-29)
  → 'github:ryantm/agenix/b7ffcfe77f817d9ee992640ba1f270718d197f28' (2023-01-31)
• Added input 'agenix/darwin':
    'github:lnl7/nix-darwin/87b9d090ad39b25b2400029c64825fc2a8868943' (2023-01-09)
• Added input 'agenix/darwin/nixpkgs':
    follows 'agenix/nixpkgs'
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f413457e0dd7a42adefdbcea4391dd9751509025' (2023-01-30)
  → 'github:NixOS/nixpkgs/0218941ea68b4c625533bead7bbb94ccce52dceb' (2023-01-31)
2023-02-01 04:46:20 +01:00
88d5671f8e flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/42d371d861a227149dc9a7e03350c9ab8b8ddd68' (2023-01-09)
  → 'github:ryantm/agenix/49798e535ebc07fec82256b283d35be36d8c6c9a' (2023-01-29)
2023-01-30 04:40:06 +01:00
f41d5c0665 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cc4bb87f5457ba06af9ae57ee4328a49ce674b1b' (2023-01-27)
  → 'github:NixOS/nixpkgs/ce20e9ebe1903ea2ba1ab006ec63093020c761cb' (2023-01-28)
2023-01-29 04:46:12 +01:00
4922905cab flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/def9e420d27c951026d57dc96ce0218c3131f412' (2023-01-26)
  → 'github:NixOS/nixpkgs/cc4bb87f5457ba06af9ae57ee4328a49ce674b1b' (2023-01-27)
2023-01-28 04:47:28 +01:00
9bd0511200 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ab1254087f4cdf4af74b552d7fc95175d9bdbb49' (2023-01-22)
  → 'github:NixOS/nixpkgs/def9e420d27c951026d57dc96ce0218c3131f412' (2023-01-26)
2023-01-27 04:48:20 +01:00
5e17e73106 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/cdead16a444a3e5de7bc9b0af8e198b11bb01804' (2023-01-20)
  → 'github:NixOS/nixpkgs/ab1254087f4cdf4af74b552d7fc95175d9bdbb49' (2023-01-22)
2023-01-26 04:40:05 +01:00
980a840b55 Update hardware configuration 2023-01-23 23:47:16 +01:00
d4b2c7dcf7 Add Makefile for deployment 2023-01-23 23:46:18 +01:00
cbf6de5e08 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b83e7f5a04a3acc8e92228b0c4bae68933d504eb' (2023-01-17)
  → 'github:NixOS/nixpkgs/cdead16a444a3e5de7bc9b0af8e198b11bb01804' (2023-01-20)
2023-01-23 04:44:09 +01:00
58ab34e560 Update README 2023-01-22 17:59:14 +01:00
40286bb0da Fix openboks search 2023-01-22 17:58:53 +01:00
77c34b132a Change location of the agenix key 2023-01-22 17:53:14 +01:00
c49d9d1b17 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2f9fd351ec37f5d479556cd48be4ca340da59b8f' (2023-01-15)
  → 'github:NixOS/nixpkgs/b83e7f5a04a3acc8e92228b0c4bae68933d504eb' (2023-01-17)
2023-01-19 04:52:24 +01:00
d9dcf7dda3 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a83ed85c14fcf242653df6f4b0974b7e1c73c6c6' (2023-01-14)
  → 'github:NixOS/nixpkgs/2f9fd351ec37f5d479556cd48be4ca340da59b8f' (2023-01-15)
2023-01-17 04:50:20 +01:00
39a9174e7d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e285dd0ca97c264003867c7329f0d1f4f028739c' (2023-01-13)
  → 'github:NixOS/nixpkgs/a83ed85c14fcf242653df6f4b0974b7e1c73c6c6' (2023-01-14)
2023-01-16 04:51:19 +01:00
b46edde9bf Open ports for avahi 2023-01-14 20:00:57 +01:00
c3b1a294ae Update openbooks container 2023-01-14 20:00:45 +01:00
a800a99590 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6a3f9996408c970b99b8b992b11bb249d1455b62' (2023-01-12)
  → 'github:NixOS/nixpkgs/e285dd0ca97c264003867c7329f0d1f4f028739c' (2023-01-13)
2023-01-14 16:32:53 +01:00
d41b54496c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9c8bff77b5d51380f5da349d0a6fc515da6244b0' (2023-01-11)
  → 'github:NixOS/nixpkgs/6a3f9996408c970b99b8b992b11bb249d1455b62' (2023-01-12)
2023-01-13 04:51:31 +01:00
05986d65e8 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/54644f409ab471e87014bb305eac8c50190bcf48' (2023-01-10)
  → 'github:NixOS/nixpkgs/9c8bff77b5d51380f5da349d0a6fc515da6244b0' (2023-01-11)
2023-01-12 21:25:47 +01:00
739f42d2c4 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8c54d842d9544361aac5f5b212ba04e4089e8efe' (2023-01-08)
  → 'github:NixOS/nixpkgs/54644f409ab471e87014bb305eac8c50190bcf48' (2023-01-10)
2023-01-11 04:48:57 +01:00
e8b19aced6 flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/a630400067c6d03c9b3e0455347dc8559db14288' (2022-10-15)
  → 'github:ryantm/agenix/42d371d861a227149dc9a7e03350c9ab8b8ddd68' (2023-01-09)
2023-01-10 04:40:03 +01:00
e859b3f327 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2dea8991d89b9f1e78d874945f78ca15f6954289' (2023-01-06)
  → 'github:NixOS/nixpkgs/8c54d842d9544361aac5f5b212ba04e4089e8efe' (2023-01-08)
2023-01-09 04:48:41 +01:00
c1ae6b6707 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e9ade2c8240e00a4784fac282a502efff2786bdc' (2023-01-04)
  → 'github:NixOS/nixpkgs/2dea8991d89b9f1e78d874945f78ca15f6954289' (2023-01-06)
2023-01-08 04:49:23 +01:00
dc95ea2282 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a9eedea7232f5d00f0aca7267efb69a54da1b8a1' (2023-01-03)
  → 'github:NixOS/nixpkgs/e9ade2c8240e00a4784fac282a502efff2786bdc' (2023-01-04)
2023-01-06 04:49:26 +01:00
db98717fef flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0bf3109eeb61780965c27f4a0a4affdcd0cd4d3d' (2023-01-01)
  → 'github:NixOS/nixpkgs/a9eedea7232f5d00f0aca7267efb69a54da1b8a1' (2023-01-03)
2023-01-05 04:49:49 +01:00
5d89c0a4d5 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/feda52be1d59f13b9aa02f064b4f14784b9a06c8' (2022-12-31)
  → 'github:NixOS/nixpkgs/0bf3109eeb61780965c27f4a0a4affdcd0cd4d3d' (2023-01-01)
2023-01-04 04:50:54 +01:00
792599b3a0 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6a0d2701705c3cf6f42c15aa92b7885f1f8a477f' (2022-12-30)
  → 'github:NixOS/nixpkgs/feda52be1d59f13b9aa02f064b4f14784b9a06c8' (2022-12-31)
2023-01-03 04:51:05 +01:00
b38c892d76 fixup! Update hardware configuration 2023-01-02 14:40:18 +01:00
91dfcca004 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/913a47cd064cc06440ea84e5e0452039a85781f0' (2022-12-29)
  → 'github:NixOS/nixpkgs/6a0d2701705c3cf6f42c15aa92b7885f1f8a477f' (2022-12-30)
2023-01-02 14:34:57 +01:00
fcd91ba924 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0938d73bb143f4ae037143572f11f4338c7b2d1c' (2022-12-17)
  → 'github:NixOS/nixpkgs/913a47cd064cc06440ea84e5e0452039a85781f0' (2022-12-29)
2023-01-02 14:34:51 +01:00
3a48ca63cb Update hardware configuration 2023-01-02 13:54:40 +01:00
1ca2f99608 Remove deadlock due to PWM being already exported 2023-01-02 12:41:43 +01:00
5433a0285f Use dnsmasq to resolve loopback 2022-12-21 10:11:34 +01:00
d564a94aa7 Disable man pages 2022-12-20 15:44:48 +01:00
39e2d8f4e5 Migrate to systemd-networkd 2022-12-20 15:44:44 +01:00
663e5cb739 Use ZFS storage driver for containers 2022-12-20 15:44:40 +01:00
8ea60d90df Move state directories to ZFS pool 2022-12-20 11:54:17 +01:00
0b1ee5c886 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9d692a724e74d2a49f7c985132972f991d144254' (2022-12-16)
  → 'github:NixOS/nixpkgs/0938d73bb143f4ae037143572f11f4338c7b2d1c' (2022-12-17)
2022-12-19 04:48:33 +01:00
4922fbb743 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0152de25d49dc16883b65f3e29cfea8d32f68956' (2022-12-15)
  → 'github:NixOS/nixpkgs/9d692a724e74d2a49f7c985132972f991d144254' (2022-12-16)
2022-12-17 04:50:24 +01:00
1fcd851ede flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/265caf30fa0a5148395b62777389b57eb0a537fd' (2022-12-13)
  → 'github:NixOS/nixpkgs/0152de25d49dc16883b65f3e29cfea8d32f68956' (2022-12-15)
2022-12-16 04:49:42 +01:00
2cb3ca418e Use newer release version of mautrix-signal 2022-12-15 12:31:39 +01:00
bb05892204 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/06278c77b5d162e62df170fec307e83f1812d94b' (2022-12-12)
  → 'github:NixOS/nixpkgs/265caf30fa0a5148395b62777389b57eb0a537fd' (2022-12-13)
2022-12-15 04:51:54 +01:00
f0c85d0ce5 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/dfef2e61107dc19c211ead99a5a61374ad8317f4' (2022-12-11)
  → 'github:NixOS/nixpkgs/06278c77b5d162e62df170fec307e83f1812d94b' (2022-12-12)
2022-12-14 04:50:34 +01:00
26fb2d5ddd flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e8ec26f41fd94805d8fbf2552d8e7a449612c08e' (2022-12-09)
  → 'github:NixOS/nixpkgs/dfef2e61107dc19c211ead99a5a61374ad8317f4' (2022-12-11)
2022-12-12 04:49:50 +01:00
001a293264 Improve service dependency management 2022-12-12 00:15:47 +01:00
4ec5710dba Use point release instead of rolling release 2022-12-11 22:55:42 +01:00
50df6944ea flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/7883883d135ce5b7eae5dce4bfa12262b85c1c46' (2022-11-28)
  → 'github:NixOS/nixos-hardware/9d87bc030a0bf3f00e953dbf095a7d8e852dab6b' (2022-12-04)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7a6a010c3a1d00f8470a5ca888f2f927f1860a19' (2022-12-08)
  → 'github:NixOS/nixpkgs/e8ec26f41fd94805d8fbf2552d8e7a449612c08e' (2022-12-09)
2022-12-11 22:49:31 +01:00
6c1b579418 Update public keys of caravanserai 2022-12-10 16:59:29 +01:00
4b70ad228c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/04a75b2eecc0acf6239acf9dd04485ff8d14f425' (2022-12-08)
  → 'github:NixOS/nixpkgs/7a6a010c3a1d00f8470a5ca888f2f927f1860a19' (2022-12-08)
2022-12-10 04:49:22 +01:00
aae6d8eb8f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5528350186a9e826588cee1329640899ca44a0cf' (2022-12-07)
  → 'github:NixOS/nixpkgs/04a75b2eecc0acf6239acf9dd04485ff8d14f425' (2022-12-08)
2022-12-09 04:50:04 +01:00
29dffb4e5b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/52e3e80afff4b16ccb7c52e9f0f5220552f03d04' (2022-12-05)
  → 'github:NixOS/nixpkgs/5528350186a9e826588cee1329640899ca44a0cf' (2022-12-07)
2022-12-08 04:50:28 +01:00
d6cf839b91 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2d10e73416ec1449ef74aeac7faf2cf8c556ff5a' (2022-12-03)
  → 'github:NixOS/nixpkgs/52e3e80afff4b16ccb7c52e9f0f5220552f03d04' (2022-12-05)
2022-12-07 04:49:10 +01:00
0f2f0144b0 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/660e7737851506374da39c0fa550c202c824a17c' (2022-12-02)
  → 'github:NixOS/nixpkgs/2d10e73416ec1449ef74aeac7faf2cf8c556ff5a' (2022-12-03)
2022-12-05 04:48:17 +01:00
534c3232df flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/14c7bd44711b04c05cb78412451005415310b6bd' (2022-12-01)
  → 'github:NixOS/nixpkgs/660e7737851506374da39c0fa550c202c824a17c' (2022-12-02)
2022-12-04 04:49:05 +01:00
6aa09dd89d flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/596a8e828c5dfa504f91918d0fa4152db3ab5502' (2022-11-30)
  → 'github:NixOS/nixpkgs/14c7bd44711b04c05cb78412451005415310b6bd' (2022-12-01)
2022-12-03 04:47:12 +01:00
59afaeb7c0 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a115bb9bd56831941be3776c8a94005867f316a7' (2022-11-27)
  → 'github:NixOS/nixpkgs/596a8e828c5dfa504f91918d0fa4152db3ab5502' (2022-11-30)
2022-12-01 14:51:10 +01:00
2d054552fd flake.lock: Update
Flake lock file updates:

• Updated input 'nix-matrix-appservices':
    'gitlab:coffeetables/nix-matrix-appservices/5483c1b3f73c81a4533a1d7a8cc80486ca9b5c14' (2022-04-24)
  → 'gitlab:coffeetables/nix-matrix-appservices/efdc09f26e3b01801edaa3b0e2bdd46d9d133bba' (2022-09-23)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/3bf48d3587d3f34f745a19ebc968b002ef5b5c5a' (2022-07-04)
  → 'github:NixOS/nixos-hardware/7883883d135ce5b7eae5dce4bfa12262b85c1c46' (2022-11-28)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/20fc948445a6c22d4e8d5178e9a6bc6e1f5417c8' (2022-11-21)
  → 'github:NixOS/nixpkgs/a115bb9bd56831941be3776c8a94005867f316a7' (2022-11-27)
2022-11-30 18:48:45 +01:00
a75c32c3f5 Update DNS servers 2022-11-29 10:04:01 +01:00
af6cd31897 Use HEAD version of mautrix-signal 2022-11-23 16:36:25 +01:00
2774418579 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/af50806f7c6ab40df3e6b239099e8f8385f6c78b' (2022-11-21)
  → 'github:NixOS/nixpkgs/20fc948445a6c22d4e8d5178e9a6bc6e1f5417c8' (2022-11-21)
2022-11-23 04:48:38 +01:00
82a30442fe flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5f588eb4a958f1a526ed8da02d6ea1bea0047b9f' (2022-11-10)
  → 'github:NixOS/nixpkgs/af50806f7c6ab40df3e6b239099e8f8385f6c78b' (2022-11-21)
2022-11-22 04:48:14 +01:00
9bc6e561e6 Enable registration for OAuth2 accounts in Gitea 2022-11-21 13:52:50 +01:00
ba5bdfd9d2 Modify location of LFS data 2022-11-21 09:52:56 +01:00
429aac2eb0 Enable voice messages for signal and facebook 2022-11-14 12:27:25 +01:00
bc55759f84 Reinitialize HDDs properly after service restart 2022-11-14 11:48:26 +01:00
0864532f54 Add required option to all mautrix bridges 2022-11-14 00:58:06 +01:00
ad6409f5a8 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/872fceeed60ae6b7766cc0a4cd5bf5901b9098ec' (2022-11-09)
  → 'github:NixOS/nixpkgs/5f588eb4a958f1a526ed8da02d6ea1bea0047b9f' (2022-11-10)
2022-11-13 04:46:55 +01:00
424ef599be flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/093268502280540a7f5bf1e2a6330a598ba3b7d0' (2022-11-08)
  → 'github:NixOS/nixpkgs/872fceeed60ae6b7766cc0a4cd5bf5901b9098ec' (2022-11-09)
2022-11-11 04:48:15 +01:00
34d0f18d6c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/667e5581d16745bcda791300ae7e2d73f49fff25' (2022-11-07)
  → 'github:NixOS/nixpkgs/093268502280540a7f5bf1e2a6330a598ba3b7d0' (2022-11-08)
2022-11-10 04:48:01 +01:00
2d84e22cca flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fdebb81f45a1ba2c4afca5fd9f526e1653ad0949' (2022-10-29)
  → 'github:NixOS/nixpkgs/667e5581d16745bcda791300ae7e2d73f49fff25' (2022-11-07)
2022-11-09 04:48:32 +01:00
9a153a8ba4 Remove nixpkgs reference in nixos-hardware 2022-11-07 23:51:20 +01:00
e16626c48f Add required option to mautrix facebook 2022-11-02 22:21:36 +01:00
d0a799f752 Add signald to MOTD 2022-10-31 13:54:11 +01:00
15eb16a71e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2001e2b31c565bcdf7bc13062b8d7cfccaca05b8' (2022-10-27)
  → 'github:NixOS/nixpkgs/fdebb81f45a1ba2c4afca5fd9f526e1653ad0949' (2022-10-29)
2022-10-30 04:49:15 +01:00
95ee70d419 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5bdb380ee7fa036d47b19e9d854928f4881c50a1' (2022-10-26)
  → 'github:NixOS/nixpkgs/2001e2b31c565bcdf7bc13062b8d7cfccaca05b8' (2022-10-27)
2022-10-29 04:50:39 +02:00
b3eb56c992 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f994293d1eb8812f032e8919e10a594567cf6ef7' (2022-10-25)
  → 'github:NixOS/nixpkgs/5bdb380ee7fa036d47b19e9d854928f4881c50a1' (2022-10-26)
2022-10-28 04:51:36 +02:00
bcf344cc20 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0e6df35f39651504249a05191f9a78d251707e22' (2022-10-23)
  → 'github:NixOS/nixpkgs/f994293d1eb8812f032e8919e10a594567cf6ef7' (2022-10-25)
2022-10-26 04:49:07 +02:00
94bfd73372 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/95aeaf83c247b8f5aa561684317ecd860476fcd6' (2022-10-22)
  → 'github:NixOS/nixpkgs/0e6df35f39651504249a05191f9a78d251707e22' (2022-10-23)
2022-10-25 04:50:08 +02:00
5dcfcd1f1f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/301aada7a64812853f2e2634a530ef5d34505048' (2022-10-21)
  → 'github:NixOS/nixpkgs/95aeaf83c247b8f5aa561684317ecd860476fcd6' (2022-10-22)
2022-10-24 04:50:10 +02:00
4156fb2962 Optimize dendrite performance 2022-10-23 17:34:55 +02:00
8682f11eb9 Optimize postgresql performance 2022-10-23 17:34:18 +02:00
46f7e43335 Update postgresql version 2022-10-23 17:19:26 +02:00
27d21a548d Update well-known delegation settings for Matrix 2022-10-23 16:49:48 +02:00
dc1bb22d9d Use CSP config only in gitea 2022-10-23 10:53:40 +02:00
801bc6f07d Harden protection against XSS attacks 2022-10-23 10:53:09 +02:00
bc5c561775 Remove cainiao from DNS blocklist 2022-10-23 10:47:58 +02:00
f60d776fc6 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b7d8c687782c8f9a1d425a7e486eb989654f6468' (2022-10-20)
  → 'github:NixOS/nixpkgs/301aada7a64812853f2e2634a530ef5d34505048' (2022-10-21)
2022-10-22 17:32:23 +02:00
76ae7e1f16 Add client well-known for Matrix 2022-10-22 17:18:53 +02:00
b97f417549 Revert "Auto-update openbooks"
This reverts commit c8de69b691.
2022-10-22 16:42:20 +02:00
aa8a129cbe flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/db25c4da285c5989b39e4ce13dea651a88b7a9d4' (2022-10-19)
  → 'github:NixOS/nixpkgs/b7d8c687782c8f9a1d425a7e486eb989654f6468' (2022-10-20)
2022-10-22 04:49:03 +02:00
9c16bbca73 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/32096899af23d49010bd8cf6a91695888d9d9e73' (2022-10-18)
  → 'github:NixOS/nixpkgs/db25c4da285c5989b39e4ce13dea651a88b7a9d4' (2022-10-19)
2022-10-21 04:48:53 +02:00
de605cebe6 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/104e8082de1b20f9d0e1f05b1028795ed0e0e4bc' (2022-10-16)
  → 'github:NixOS/nixpkgs/32096899af23d49010bd8cf6a91695888d9d9e73' (2022-10-18)
2022-10-20 04:49:24 +02:00
1a77bce9c0 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/83b198a2083774844962c854f811538323f9f7b1' (2022-10-15)
  → 'github:NixOS/nixpkgs/104e8082de1b20f9d0e1f05b1028795ed0e0e4bc' (2022-10-16)
2022-10-18 04:48:24 +02:00
8783abba5b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4428e23312933a196724da2df7ab78eb5e67a88e' (2022-10-14)
  → 'github:NixOS/nixpkgs/83b198a2083774844962c854f811538323f9f7b1' (2022-10-15)
2022-10-17 04:50:37 +02:00
067bb7d50a flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/6acb1fe5f8597d5ce63fc82bc7fcac7774b1cdf0' (2022-09-25)
  → 'github:ryantm/agenix/a630400067c6d03c9b3e0455347dc8559db14288' (2022-10-15)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ba187fbdc5e35322c7dff556ef2c47bddfd6e8d7' (2022-10-13)
  → 'github:NixOS/nixpkgs/4428e23312933a196724da2df7ab78eb5e67a88e' (2022-10-14)
2022-10-16 04:51:49 +02:00
94b20b660f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/285e77efe87df64105ec14b204de6636fb0a7a27' (2022-10-11)
  → 'github:NixOS/nixpkgs/ba187fbdc5e35322c7dff556ef2c47bddfd6e8d7' (2022-10-13)
2022-10-14 04:49:41 +02:00
3031264819 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/34c5293a71ffdb2fe054eb5288adc1882c1eb0b1' (2022-10-09)
  → 'github:NixOS/nixpkgs/285e77efe87df64105ec14b204de6636fb0a7a27' (2022-10-11)
2022-10-13 04:50:00 +02:00
239474afce flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c5924154f000e6306030300592f4282949b2db6c' (2022-10-08)
  → 'github:NixOS/nixpkgs/34c5293a71ffdb2fe054eb5288adc1882c1eb0b1' (2022-10-09)
2022-10-12 04:50:27 +02:00
99271f73f2 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/854fdc68881791812eddd33b2fed94b954979a8e' (2022-09-28)
  → 'github:NixOS/nixpkgs/c5924154f000e6306030300592f4282949b2db6c' (2022-10-08)
2022-10-10 04:49:56 +02:00
c98a00cc3f Remove deprecated nixFlakes package 2022-09-30 21:30:28 +02:00
06ce326008 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7e52b35fe98481a279d89f9c145f8076d049d2b9' (2022-09-27)
  → 'github:NixOS/nixpkgs/854fdc68881791812eddd33b2fed94b954979a8e' (2022-09-28)
2022-09-30 04:49:16 +02:00
5af37ea502 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/62228ccc672ed000f35b1e5c82e4183e46767e52' (2022-09-26)
  → 'github:NixOS/nixpkgs/7e52b35fe98481a279d89f9c145f8076d049d2b9' (2022-09-27)
2022-09-29 04:48:55 +02:00
c216953598 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/79d3ca08920364759c63fd3eb562e99c0c17044a' (2022-09-25)
  → 'github:NixOS/nixpkgs/62228ccc672ed000f35b1e5c82e4183e46767e52' (2022-09-26)
2022-09-28 04:47:31 +02:00
471a7c9cff flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/fde244a8c7655bc28616864e2290ad9c95409c2c' (2022-09-24)
  → 'github:NixOS/nixpkgs/79d3ca08920364759c63fd3eb562e99c0c17044a' (2022-09-25)
2022-09-27 04:47:35 +02:00
3c037bf46d flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/c96da5835b76d3d8e8d99a0fec6fe32f8539ee2e' (2022-09-03)
  → 'github:ryantm/agenix/6acb1fe5f8597d5ce63fc82bc7fcac7774b1cdf0' (2022-09-25)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/ae1dc133ea5f1538d035af41e5ddbc2ebcb67b90' (2022-09-22)
  → 'github:NixOS/nixpkgs/fde244a8c7655bc28616864e2290ad9c95409c2c' (2022-09-24)
2022-09-26 04:50:30 +02:00
58b984a883 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/d6490a0bd9dfb298fcd8382d3363b86870dc7340' (2022-09-21)
  → 'github:NixOS/nixpkgs/ae1dc133ea5f1538d035af41e5ddbc2ebcb67b90' (2022-09-22)
2022-09-24 04:47:55 +02:00
9900caf46b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f677051b8dc0b5e2a9348941c99eea8c4b0ff28f' (2022-09-18)
  → 'github:NixOS/nixpkgs/d6490a0bd9dfb298fcd8382d3363b86870dc7340' (2022-09-21)
2022-09-23 04:47:43 +02:00
f237f14431 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/da6a05816e7fa5226c3f61e285ef8d9dfc868f3c' (2022-09-16)
  → 'github:NixOS/nixpkgs/f677051b8dc0b5e2a9348941c99eea8c4b0ff28f' (2022-09-18)
2022-09-20 04:47:43 +02:00
afb6a154d6 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1158501e7c7cba26d922723cf9f70099995eb755' (2022-09-14)
  → 'github:NixOS/nixpkgs/da6a05816e7fa5226c3f61e285ef8d9dfc868f3c' (2022-09-16)
2022-09-18 04:49:35 +02:00
c8b15017cf flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/9608ace7009ce5bc3aeb940095e01553e635cbc7' (2022-09-13)
  → 'github:NixOS/nixpkgs/1158501e7c7cba26d922723cf9f70099995eb755' (2022-09-14)
2022-09-16 04:50:31 +02:00
fad5951a87 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5f326e2a403e1cebaec378e72ceaf5725983376d' (2022-09-12)
  → 'github:NixOS/nixpkgs/9608ace7009ce5bc3aeb940095e01553e635cbc7' (2022-09-13)
2022-09-15 04:46:23 +02:00
3f4484e109 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c97e777ff06fcb8d37dcdf5e21e9eff1f34f0e90' (2022-09-11)
  → 'github:NixOS/nixpkgs/5f326e2a403e1cebaec378e72ceaf5725983376d' (2022-09-12)
2022-09-14 04:49:28 +02:00
08d27e674f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/93a0067a9c85c17764f7755947e6ecf52dc47d8a' (2022-09-10)
  → 'github:NixOS/nixpkgs/c97e777ff06fcb8d37dcdf5e21e9eff1f34f0e90' (2022-09-11)
2022-09-13 04:48:22 +02:00
687bbeb79b flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/74a1793c659d09d7cf738005308b1f86c90cb59b' (2022-09-09)
  → 'github:NixOS/nixpkgs/93a0067a9c85c17764f7755947e6ecf52dc47d8a' (2022-09-10)
2022-09-12 04:48:12 +02:00
def85bbf03 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2da64a81275b68fdad38af669afeda43d401e94b' (2022-09-01)
  → 'github:NixOS/nixpkgs/74a1793c659d09d7cf738005308b1f86c90cb59b' (2022-09-09)
2022-09-11 04:49:08 +02:00
43f6d96aff Use latest image for openbooks 2022-09-07 20:16:26 +02:00
aec8d6b1be Change Wireguard port 2022-09-06 23:53:49 +02:00
166c4318fd flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/9f136ecfa5bf954538aed3245e4408cf87c85097' (2022-09-01)
  → 'github:ryantm/agenix/c96da5835b76d3d8e8d99a0fec6fe32f8539ee2e' (2022-09-03)
2022-09-04 04:40:04 +02:00
3c404d3a0d flake.lock: Update
Flake lock file updates:

• Updated input 'agenix':
    'github:ryantm/agenix/7e5e58b98c3dcbf497543ff6f22591552ebfe65b' (2022-05-16)
  → 'github:ryantm/agenix/9f136ecfa5bf954538aed3245e4408cf87c85097' (2022-09-01)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/324c8aaf25b2f2027af7798e5582ce3040a793b6' (2022-08-27)
  → 'github:NixOS/nixpkgs/2da64a81275b68fdad38af669afeda43d401e94b' (2022-09-01)
2022-09-02 04:45:28 +02:00
9c0bcd4660 Add ffmpeg to Mautrix signal path 2022-08-29 21:41:53 +02:00
79e64d7475 Schedule garbage collection on a weekly basis 2022-08-29 21:41:13 +02:00
b07a3f4dbc flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f3d0897be466aa09a37f6bf59e62c360c3f9a6cc' (2022-08-25)
  → 'github:NixOS/nixpkgs/324c8aaf25b2f2027af7798e5582ce3040a793b6' (2022-08-27)
2022-08-29 04:46:45 +02:00
5a9d76856c flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/b784c5ae63dd288375af1b4d37b8a27dd8061887' (2022-08-24)
  → 'github:NixOS/nixpkgs/f3d0897be466aa09a37f6bf59e62c360c3f9a6cc' (2022-08-25)
2022-08-28 04:45:25 +02:00
bdb3e26020 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f034b5693a26625f56068af983ed7727a60b5f8b' (2022-08-24)
  → 'github:NixOS/nixpkgs/b784c5ae63dd288375af1b4d37b8a27dd8061887' (2022-08-24)
2022-08-26 04:44:46 +02:00
a35aafd634 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5e804cd8a27f835a402b22e086e36e797716ef8b' (2022-08-23)
  → 'github:NixOS/nixpkgs/f034b5693a26625f56068af983ed7727a60b5f8b' (2022-08-24)
2022-08-25 04:44:57 +02:00
c7b4c75091 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a7855f2235a1876f97473a76151fec2afa02b287' (2022-08-21)
  → 'github:NixOS/nixpkgs/5e804cd8a27f835a402b22e086e36e797716ef8b' (2022-08-23)
2022-08-24 04:46:02 +02:00
3274244899 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/13711c9ab9f5a160a44affb7a6221be53318a873' (2022-08-20)
  → 'github:NixOS/nixpkgs/a7855f2235a1876f97473a76151fec2afa02b287' (2022-08-21)
2022-08-23 04:45:04 +02:00
56468a3f05 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/495b19d5b3e62b4ec7e846bdfb6ef3d9c3b83492' (2022-08-19)
  → 'github:NixOS/nixpkgs/13711c9ab9f5a160a44affb7a6221be53318a873' (2022-08-20)
2022-08-22 04:45:37 +02:00
acacf7d163 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8ea014acc33da95ea56c902229957d8225005163' (2022-08-18)
  → 'github:NixOS/nixpkgs/495b19d5b3e62b4ec7e846bdfb6ef3d9c3b83492' (2022-08-19)
2022-08-21 04:46:06 +02:00
9aa696c74e flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/762b003329510ea855b4097a37511eb19c7077f0' (2022-08-16)
  → 'github:NixOS/nixpkgs/8ea014acc33da95ea56c902229957d8225005163' (2022-08-18)
2022-08-20 04:45:43 +02:00
75937388d4 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/a65b5b3f5504b8b89c196aba733bdf2b0bd13c16' (2022-07-21)
  → 'github:NixOS/nixpkgs/762b003329510ea855b4097a37511eb19c7077f0' (2022-08-16)
2022-08-19 04:44:07 +02:00
ae413bd36c Refactor deprecated gitea options 2022-08-15 21:30:37 +02:00
037e1ce951 Configure the Telegram bridge properly 2022-07-22 17:25:53 +02:00
3625a7a078 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/614a842b74b7a1497e8cfca7c61bec38f51911b3' (2022-07-20)
  → 'github:NixOS/nixpkgs/a65b5b3f5504b8b89c196aba733bdf2b0bd13c16' (2022-07-21)
2022-07-22 04:46:29 +02:00
47ba47dca5 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e4d49de45a3b5dbcb881656b4e3986e666141ea9' (2022-07-18)
  → 'github:NixOS/nixpkgs/614a842b74b7a1497e8cfca7c61bec38f51911b3' (2022-07-20)
2022-07-21 04:45:52 +02:00
d1e4d48291 Add all bridges to MOTD 2022-07-20 22:38:38 +02:00
03e31460a5 Set up the Telegram bridge 2022-07-20 22:38:20 +02:00
bf6a8a3859 Change owner for the signald service 2022-07-20 22:38:06 +02:00
a28456fc64 Fix Matrix bridges configuration 2022-07-20 19:18:10 +02:00
af18ffd29e Migrate from Synapse to Dendrite 2022-07-20 16:34:14 +02:00
d1eaf76099 Move agenix key to coolneng's home directory 2022-07-20 14:22:19 +02:00
3213dba96a Properly set neovim as editor 2022-07-20 14:21:42 +02:00
76e8c9c6e1 Fix zion-push service 2022-07-20 10:15:40 +02:00
b45e299ee6 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/2e3f6efdeda4cfff0259912495761885d8bee74a' (2022-07-18)
  → 'github:NixOS/nixpkgs/e4d49de45a3b5dbcb881656b4e3986e666141ea9' (2022-07-18)
2022-07-20 04:45:41 +02:00
798bec72c1 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8f485713f5e6b6883a9b6959afa98688360a3ecb' (2022-07-16)
  → 'github:NixOS/nixpkgs/2e3f6efdeda4cfff0259912495761885d8bee74a' (2022-07-18)
2022-07-19 04:46:47 +02:00
67389a11e9 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/4a01ca36d6bfc133bc617e661916a81327c9bbc8' (2022-07-14)
  → 'github:NixOS/nixpkgs/8f485713f5e6b6883a9b6959afa98688360a3ecb' (2022-07-16)
2022-07-18 04:45:48 +02:00
0638759686 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/68c63e60b8413260605efbe1ac5addaa099cdfb3' (2022-07-12)
  → 'github:NixOS/nixpkgs/4a01ca36d6bfc133bc617e661916a81327c9bbc8' (2022-07-14)
2022-07-16 04:44:03 +02:00
396a91742f flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/38860c9e91cb00f4d8cd19c7b4e36c45680c89b5' (2022-07-11)
  → 'github:NixOS/nixpkgs/68c63e60b8413260605efbe1ac5addaa099cdfb3' (2022-07-12)
2022-07-15 04:43:45 +02:00
f52e041bea flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/5f43d8b088d3771274bcfb69d3c7435b1121ac88' (2022-07-10)
  → 'github:NixOS/nixpkgs/38860c9e91cb00f4d8cd19c7b4e36c45680c89b5' (2022-07-11)
2022-07-14 04:42:59 +02:00
50fbfdf485 Document how to set up zion from scratch 2022-07-12 21:02:43 +02:00
23395b8e6d Simplify PWM and i2c loading using nixos-hardware 2022-07-12 21:02:11 +02:00
b418c9c892 Replace logrotate with a journalctl option 2022-07-12 19:52:52 +02:00
a92a2e19fd Replace vim with neovim 2022-07-12 19:52:41 +02:00
dea4242b99 Change network subnet 2022-07-12 19:52:12 +02:00
cd79dceb33 flake.lock: Update
Flake lock file updates:

• Added input 'nixos-hardware':
    'github:NixOS/nixos-hardware/3bf48d3587d3f34f745a19ebc968b002ef5b5c5a' (2022-07-04)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/f2537a505d45c31fe5d9c27ea9829b6f4c4e6ac5' (2022-06-26)
  → 'github:NixOS/nixpkgs/5f43d8b088d3771274bcfb69d3c7435b1121ac88' (2022-07-10)
2022-07-12 19:51:17 +02:00
03c2f8990c Unexport PWM timers when stopping sata-hat service 2022-07-05 17:47:24 +02:00
03091fb9b8 Update DNS servers 2022-06-28 01:42:36 +02:00
0c320ec982 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/6141b8932a5cf376fe18fcd368cecd9ad946cb68' (2022-06-23)
  → 'github:NixOS/nixpkgs/f2537a505d45c31fe5d9c27ea9829b6f4c4e6ac5' (2022-06-26)
2022-06-27 04:49:20 +02:00
140a3a2ac0 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e1e08fe28bf0588a41cd556eac40b98d2793da99' (2022-06-22)
  → 'github:NixOS/nixpkgs/6141b8932a5cf376fe18fcd368cecd9ad946cb68' (2022-06-23)
2022-06-25 15:37:42 +02:00
77ded04451 Change owner of the git secret 2022-06-23 20:10:32 +02:00
f1658347f3 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/0d68d7c857fe301d49cdcd56130e0beea4ecd5aa' (2022-06-19)
  → 'github:NixOS/nixpkgs/e1e08fe28bf0588a41cd556eac40b98d2793da99' (2022-06-22)
2022-06-23 04:50:03 +02:00
b4369e46d1 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/e0a42267f73ea52adc061a64650fddc59906fc99' (2022-06-18)
  → 'github:NixOS/nixpkgs/0d68d7c857fe301d49cdcd56130e0beea4ecd5aa' (2022-06-19)
2022-06-22 04:50:25 +02:00
9d346c9a90 flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/236cc2971ac72acd90f0ae3a797f9f83098b17ec' (2022-06-03)
  → 'github:NixOS/nixpkgs/e0a42267f73ea52adc061a64650fddc59906fc99' (2022-06-18)
2022-06-20 04:50:09 +02:00
552e3bec1a Perform git pull before push for the system repo 2022-06-19 09:29:07 +02:00
ce0bd4bc05 Convert zion-push service to user service 2022-06-17 17:15:27 +02:00
1525120e29 Move device-specific config to a separate module 2022-06-17 17:06:21 +02:00
783d7d5982 Trigger logrotate service daily instead of hourly 2022-06-16 01:40:30 +02:00
e6d7d0681a Rotate logs using logrotate 2022-06-15 22:49:31 +02:00
2ad60ca2e4 Add Emacs ssh-deploy configuration 2022-06-08 18:48:08 +02:00
0258fde35f flake.lock: Add
Flake lock file updates:

• Added input 'agenix':
    'github:ryantm/agenix/7e5e58b98c3dcbf497543ff6f22591552ebfe65b' (2022-05-16)
• Added input 'agenix/nixpkgs':
    follows 'nixpkgs'
• Added input 'nixpkgs':
    'github:NixOS/nixpkgs/236cc2971ac72acd90f0ae3a797f9f83098b17ec' (2022-06-03)
2022-06-07 04:40:06 +02:00
747b7ce7ca Configure flake auto-upgrade 2022-06-07 00:11:57 +02:00
f5966c6271 Replace ssmtp with msmtp 2022-06-06 23:13:38 +02:00
1260e3ba3c Migrate to flakes 2022-06-06 23:12:54 +02:00
6ce94605b5 Change Wireguard port 2022-06-06 19:03:18 +02:00
84a525e7a1 Add stateVersion 2022-06-06 12:05:47 +02:00
c8de69b691 Auto-update openbooks 2022-05-28 16:46:00 +02:00
1e877102b5 Add Phone-screenshots folder to Syncthing 2022-05-27 16:58:44 +02:00
62a33ef405 Incomplete: Enable HW PWM timers for the HDD fan 2022-05-16 23:30:06 +02:00
ec3588bcf8 Change openbooks service name in MOTD 2022-05-06 18:51:26 +02:00
e0c2bdb80a Enable hardware PWM timers and w1-gpio 2022-05-06 18:48:29 +02:00
5da1a29bff Remove gitignore 2022-05-03 02:56:43 +02:00
c1ff3bb0c2 Add openbooks to MOTD 2022-05-02 16:19:08 +02:00
30013dfc5e Refactor configuration.nix using with pkgs 2022-05-02 01:55:43 +02:00
df672cd2a5 Revert "Pin PHP-FPM version to 7.4"
This reverts commit b498a9556a.
2022-05-02 01:55:28 +02:00
69aba01d8c Set up Openbooks 2022-05-02 01:49:40 +02:00
90d767d7ce Update dnsmasq after wireguard 2022-03-21 16:25:41 +01:00
90096c1c46 Adapt nix store optimization option to upstream 2022-03-21 16:25:09 +01:00
338bb73507 Disable redundant HTST option in Miniflux 2022-03-21 16:24:44 +01:00
770d428bdf Adapt matrix-synapse to upstream changes 2022-03-21 16:24:28 +01:00
3b2b6699da Rename security.acme.email due to deprecation 2022-01-13 21:15:32 +01:00
4c4dd1b011 Add mautrix-telegram to MOTD 2022-01-13 21:15:22 +01:00
278cec1682 Assign a static IP address 2022-01-05 13:54:59 +01:00
b9ed94d3ee Revert "Assign a static IP address"
This reverts commit 8392ac213b.
2022-01-03 10:00:52 +01:00
b2bea02dd1 Remove redundant readFile in ddclient 2021-11-29 10:38:29 +01:00
905b61e966 Add execution permission to scripts 2021-11-27 19:45:40 +01:00
a0aeac833b Change password with passwordFile in ddclient 2021-11-23 23:09:03 +01:00
f8dda2a8f7 Update caravanserai and Phone folder ID 2021-11-02 21:25:01 +01:00
8e72b5499a Change scripts permissions 2021-08-16 21:09:19 +01:00
c7050a4720 Change panacea Syncthing ID 2021-08-13 10:00:59 +01:00
139a79c36b Create GPIO and PWM paths in SATA_HAT script 2021-07-28 12:48:03 +02:00
e4c08419bd Stop SATA-HAT after umount.target is reached 2021-07-28 12:47:21 +02:00
95c593c9eb Allow frame embedding in Gitea 2021-07-20 15:58:06 +02:00
b498a9556a Pin PHP-FPM version to 7.4 2021-06-20 17:10:52 +02:00
5911e6f678 Spin down the HDDs when not in use 2021-05-24 21:44:00 +02:00
000f56d295 Work around services startup before ZFS pool 2021-05-21 01:27:27 +02:00
7c3e61e51a Don't import encrypted ZFS datasets on startup 2021-05-21 01:27:08 +02:00
6ab24a5583 Replace Radicale config with new settings option 2021-05-17 09:56:44 +02:00
57f5952f8a Initialize the SATA HAT on startup 2021-05-15 16:51:46 +02:00
8392ac213b Assign a static IP address 2021-05-13 19:09:28 +02:00
1e49543907 Replace systemd time with startAt 2021-04-29 16:47:47 +02:00
8666cc0a1f Update DNS servers 2021-04-15 17:16:02 +02:00
cd2b98cca2 Use dot operator for attribute sets with 1 element 2021-04-15 12:34:38 +02:00
d5249bb625 Update DNS servers 2021-04-15 12:02:45 +02:00
8dd96425e3 Remove libressl from packages 2021-04-11 16:42:33 +02:00
34d691da5c Remove subdirectories in /var/keys 2021-03-30 10:05:51 +02:00
0153e4f759 Update DNS servers 2021-03-23 17:56:35 +01:00
9a1e015a2d Change location of SMTP password file 2021-03-22 14:44:59 +01:00
2ace5e2f88 Remove redundant extraPools attribute 2021-03-09 13:24:27 +01:00
55f7b357de Remove git from packages 2021-03-07 18:50:41 +01:00
5eab32bc98 Remove non existent service 2021-02-21 18:11:47 +01:00
3c2b444993 Add dnsmasq to MOTD 2021-02-21 18:11:35 +01:00
4dddc69f47 Add MOTD that summarizes the system current status 2021-02-11 05:06:24 +01:00
b32e03fcbb Fix client discovery in Matrix 2021-02-04 00:22:26 +01:00
62e66e4966 Set up Mautrix-Telegram bridge 2021-02-03 18:38:41 +01:00
55c0bab404 Disable WiFi 2021-02-03 17:40:18 +01:00
d91f26bbe1 Fix Wallabag service 2021-02-03 05:28:10 +01:00
c12fdc15de Refactor nginx configuration 2021-02-03 04:30:57 +01:00
37396a628c Mount firmware partition at /boot 2021-02-03 03:41:40 +01:00
e65f322cfb Disable Matrix federation 2021-02-03 01:46:38 +01:00
e19f9f8a8a Migrate RSA ssh key to ed25519 2021-02-02 20:04:21 +01:00
8861a58958 Set up Wallabag in a new module 2021-01-19 01:43:17 +01:00
9c0f51c968 Unmount small boot partition 2021-01-04 20:31:40 +01:00
e24cb663eb Auto-optimise Nix store 2021-01-01 16:52:31 +01:00
414da75426 Replace raspberrypi-tools with libraspberrypi 2021-01-01 16:48:22 +01:00
62fc685a66 Remove mbuffer from packages 2020-12-31 04:30:02 +01:00
c4fb78d2aa Move PostgreSQL backup service to periodic.nix 2020-12-31 04:29:38 +01:00
4be986e43e Remove default users and databases from Postgresql 2020-12-29 16:11:03 +01:00
ddfc988cc5 Mount boot partition on startup 2020-12-28 18:42:46 +01:00
0011955907 Set up Matrix and Element 2020-12-28 18:42:26 +01:00
33523cc4c6 Move radicale data to zpool and use robust auth 2020-12-22 19:10:02 +01:00
e8953bd3e7 Revert "Set up shiori as an alternative to Wallabag"
This reverts commit 00ac8e6bb2.
2020-12-22 15:42:46 +01:00
2227161b31 Remove cruft from firewall configuration 2020-12-22 14:49:32 +01:00
06937cda1f Migrate to Raspberry Pi 4 2020-12-22 14:49:13 +01:00
7502a3f518 Synchronize Files folder 2020-12-22 03:45:30 +01:00
fb3e35d061 Change LAN subnet to an obscure numbering scheme 2020-12-18 02:06:49 +01:00
11ae2aa1af Update DNS servers 2020-12-17 17:12:07 +01:00
145c5051cc Rename dendrite to caravanserai 2020-12-14 02:52:04 +01:00
934416d576 Replace znapzend with ZFS auto snapshot 2020-12-12 16:03:21 +01:00
6669a824a7 Synchronize phone camera pictures 2020-12-10 14:20:13 +01:00
7acac333b3 Replace prosorinos with dendrite 2020-12-10 13:59:02 +01:00
00ac8e6bb2 Set up shiori as an alternative to Wallabag 2020-12-08 01:36:40 +01:00
4af46920cc Set up NAT loopback 2020-12-01 11:03:01 +01:00
f431600532 Set up ad-block at the DNS level 2020-11-30 15:40:10 +01:00
82b292946a Remove old ssh keys and unnecessary user groups 2020-10-28 01:19:35 +01:00
07ab2ed249 Change garbage collector frequency to 2 weeks 2020-10-28 01:18:25 +01:00
534bc27c86 Change gitea default theme to arc-green 2020-10-28 00:40:09 +01:00
e83ce4b350 Enable LFS support for Gitea 2020-10-28 00:39:54 +01:00
a0d6fdd5b8 Adapte ACME configuration to Nixos 20.09 2020-10-28 00:39:32 +01:00
4811a12ba9 Replace fish shell absolute path with a variable 2020-10-28 00:38:24 +01:00
fbc91f7d01 Retire zion as printing and scan server 2020-09-29 00:33:45 +02:00
b089c72df1 Revert "Change Wireguard port to UDP 53"
This reverts commit 25c570d26f.
2020-09-28 18:03:50 +02:00
25c570d26f Change Wireguard port to UDP 53 2020-09-28 16:51:54 +02:00
e4b3ea1418 Retire roamer from all services 2020-09-24 21:56:25 +02:00
188ccb71f1 Add prosorinos to VPN and Syncthing 2020-09-24 16:13:02 +02:00
841f7fcf14 Move radicale password file to /var/lib/radicale 2020-09-06 14:04:17 +02:00
a316bcc356 Move password files to /run/keys 2020-09-06 00:40:46 +02:00
782f5c2024 Notify of disk errors via email 2020-09-06 00:39:40 +02:00
6bdb0123d1 Clean up redundant packages 2020-09-02 18:44:31 +02:00
351926fb16 Move web services to subdomains 2020-08-24 15:07:55 +02:00
408f724669 Increase inotify limits 2020-08-20 15:03:45 +02:00
8a2da74b21 Update roamer syncthing ID 2020-08-20 14:52:03 +02:00
1bef32dcf2 Enable ZFS automatic snapshotting 2020-06-20 02:00:59 +02:00
59bb473451 Retire monolith from all services 2020-06-09 21:53:20 +02:00
993404088a Authorize panacea SSH key 2020-05-11 06:36:55 +02:00
5896c51c54 Add panacea to VPN and Syncthing 2020-05-10 03:15:42 +02:00
b2f3aa0c95 Allow scanning over VPN 2020-05-09 00:22:43 +02:00
36e4f679cd Remove docker containers and upgrade hplip 2020-04-29 01:58:53 +02:00
6c3bf4d637 Allow SSH passwordless login for root 2020-04-22 22:50:13 +02:00
d9381b19ff Adapt ACME configuration to NixOS 20.03 2020-04-22 02:31:56 +02:00
2b283d5588 Add pihole docker container 2020-04-17 00:47:17 +02:00
7927cc183f Avoid packages rebuilds and decrease ZFS ARC cache 2020-03-29 06:21:19 +02:00
5bcda20414 Disable gitea dump until the path is customizable 2020-03-08 14:34:10 +01:00
c2ff03241d Change Wireguard port to 1194 2020-03-05 09:01:54 +01:00
e1e33ec6e9 Refactor Syncthing folder declaration 2020-02-25 14:03:24 +01:00
75714527ac Update roamer Syncthing id 2020-02-23 19:15:22 +01:00
6123b72094 Trigger log rotation after a week 2020-02-23 14:59:06 +01:00
40a9598020 Set up Wireguard 2020-02-21 12:25:43 +01:00
ea06ff9985 Package cleanup and reverse proxy service restart
Squashed commit of the following:

commit db95d142d4
Author: coolneng <akasroua@gmail.com>
Date:   Thu Jan 30 13:23:23 2020 +0100

    Update Syncthing IDs and add roamer to Wireguard

commit 6a2346d4a1
Author: coolneng <akasroua@gmail.com>
Date:   Wed Jan 29 14:30:31 2020 +0100

    Add wireguard server configuration

commit 09c5755ec8
Author: coolneng <akasroua@gmail.com>
Date:   Wed Jan 29 00:20:52 2020 +0100

    Add wireguard packages

commit c542b06c9d
Author: coolneng <akasroua@gmail.com>
Date:   Tue Jan 28 21:57:53 2020 +0100

    Move zeroconf section to networking

commit 1af6e07072
Author: coolneng <akasroua@gmail.com>
Date:   Tue Jan 28 21:54:39 2020 +0100

    Revert "Clean up packages and refactor nginx config"

    This reverts commit 375758a958.

commit 5eb5e446ad
Author: coolneng <akasroua@gmail.com>
Date:   Sun Jan 26 19:39:28 2020 +0100

    Add wallabag docker container

commit 375758a958
Author: coolneng <akasroua@gmail.com>
Date:   Sun Jan 26 08:45:56 2020 +0100

    Clean up packages and refactor nginx config

commit f210353ce5
Author: coolneng <akasroua@gmail.com>
Date:   Tue Dec 31 18:41:34 2019 +0100

    Delete Security folder from Syncthing

commit 65afa32e57
Author: coolneng <akasroua@gmail.com>
Date:   Thu Dec 26 04:19:38 2019 +0100

    Use 'after' instead of 'wantedBy'

commit 8cc829e063
Author: coolneng <akasroua@gmail.com>
Date:   Thu Dec 26 04:16:21 2019 +0100

    Use wantedBy instead of partOf

commit e490102d74
Merge: 91d4b24 51ed142
Author: coolneng <akasroua@gmail.com>
Date:   Wed Dec 25 17:47:14 2019 +0100

    Merge branch 'test' of gitea into test

commit 51ed142c5f
Author: coolneng <akasroua@gmail.com>
Date:   Wed Dec 25 17:15:42 2019 +0100

    Use mkforce for 'partOf' option

commit caf4a49ec2
Author: coolneng <akasroua@gmail.com>
Date:   Wed Dec 25 16:37:11 2019 +0100

    Configure nginx service as dependent on gitea

commit e8850eff51
Author: coolneng <akasroua@gmail.com>
Date:   Wed Dec 25 16:24:10 2019 +0100

    Restart nginx after Gitea

commit 91d4b240d7
Author: coolneng <akasroua@gmail.com>
Date:   Sun Dec 15 22:54:00 2019 +0100

    # This is a combination of 2 commits.
    # This is the 1st commit message:

    Revert "Disable wizard on Gitea"

    This reverts commit d8b415ee16.

    # This is the commit message #2:

    Remove Gitea socket connection to the DB
2020-02-21 12:24:13 +01:00
85d4f2cbd8 Fix inconsistent folder-ids on Syncthing 2019-12-23 21:23:13 +01:00
b76e3ef71c Allo zion to sync Family photos 2019-12-23 20:01:40 +01:00
b62e8ee389 Add unit to Syncthing 2019-12-23 19:34:02 +01:00
d0aa988300 Disable auto reboot 2019-12-19 21:04:23 +01:00
d7a0887a4b Remove Gitea socket connection to the DB
Revert "Disable wizard on Gitea"

This reverts commit d8b415ee16.

Remove Gitea socket connection to the DB

Disable wizard on Gitea
2019-12-16 20:31:45 +01:00
4dcb77988a Revert TCP/IP connection for PostgreSQL 2019-12-15 23:08:19 +01:00
ccd3744d0c Disable PostgreSQL TCP/IP connection 2019-12-15 22:37:37 +01:00
d8b415ee16 Disable wizard on Gitea 2019-12-15 21:37:19 +01:00
11166198f6 Disable IPv6 globally 2019-12-09 10:36:20 +01:00
88438033c4 Remove gitea extra config
Change Gitea default theme

Disable SSH in Gitea

Remove gitea server additional config

Force rebuild of Gitea

Remove git-lfs package

Remove indentation in Gitea extra config

fixup! Force rebuild of Gitea

fixup! fixup! Force rebuild of Gitea

Enable modified ui gitea service

Remove gitea extra config
2019-12-09 10:35:59 +01:00
0488d83273 Update Readme 2019-12-09 06:52:28 +01:00
9663e27670 Add License and Readme 2019-12-09 06:50:11 +01:00
45 changed files with 2514 additions and 296 deletions

2
.gitignore vendored
View File

@@ -1,2 +0,0 @@
secrets
Timeline.org

673
LICENSE.md Normal file
View File

@@ -0,0 +1,673 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type YYshow c' for details.
The hypothetical commands Yshow c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

7
Makefile Normal file
View File

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

53
README.org Normal file
View File

@@ -0,0 +1,53 @@
* NixOS Server
Configuration files for my personal server, powered by [[https://nixos.org/][NixOS]].
** Modules
The configuration is sliced into different files, per category:
- ZFS pool configuration: hardware-configuration.nix
- Network configuration: networking.nix
- Synchronization and backup services: datasync.nix
- Web services and reverse proxy: webstack.nix
- Development tools: devops.nix
- Smartd: monitoring.nix
- Systemd services and timers: periodic.nix
- Curated articles: information.nix
All the modules are imported in *configuration.nix*
** Installation
1. Download the sdcard image
2. Use initial config file
#+begin_src shell
cp install.nix configuration.nix
#+end_src
3. Move the repo to the server and the agenix key
#+begin_src shell
scp -r Projects/zion zion:/home/nixos/system
scp .ssh/zion root@zion:/etc/ssh/id_ed25519
#+end_src
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
#+end_src
6. Restore the SQL databases
#+begin_src shell
gunzip -c /vault/backups/zion/databases/all.sql.gz | psql -U postgres
#+end_src

View File

@@ -1,108 +1,283 @@
{ config, pkgs, lib, ... }:
{ {
# NixOS wants to enable GRUB by default config,
boot.loader.grub.enable = false; inputs,
# Enables the generation of /boot/extlinux/extlinux.conf pkgs,
boot.loader.generic-extlinux-compatible.enable = true; lib,
...
}:
# A bunch of boot parameters needed for optimal runtime on RPi 3B with pkgs;
boot.kernelParams = ["cma=32M"];
boot.loader.raspberryPi = { {
enable = true; # Kernel configuration
version = 3; boot = {
uboot.enable = true; blacklistedKernelModules = [
firmwareConfig = '' "btusb"
hdmi_force_hotplug=1 "bluetooth"
''; ];
kernelParams = [
"zfs.zfs_arc_max=8589934592"
"zfs.zfs_arc_min=1073741824"
];
supportedFilesystems = [ "zfs" ];
zfs = {
requestEncryptionCredentials = false;
extraPools = [ "vault" ];
};
}; };
environment.systemPackages = with pkgs; [ # Secure boot using lanzaboote
raspberrypi-tools boot.loader = {
git efi.canTouchEfiVariables = true;
tmux systemd-boot = {
htop enable = true;
vim configurationLimit = 50;
]; editor = false;
};
timeout = 3;
};
# !!! Adding a swap file is optional, but strongly recommended! # Declare system packages
swapDevices = [ { device = "/swapfile"; size = 1024; } ]; environment.systemPackages = [
libraspberrypi
htop
neovim
git
inputs.agenix.packages.${config.nixpkgs.localSystem.system}.default
];
# Configure basic SSH access # Configure basic SSH access
services.openssh = { services.openssh = {
enable = true; enable = true;
permitRootLogin = "yes"; settings = {
PermitRootLogin = "yes";
PasswordAuthentication = false;
};
}; };
# Cleanup tmp on startup # Cleanup tmp on startup
boot.cleanTmpDir = true; boot.tmp.cleanOnBoot = true;
# Set hostname
networking.hostName = "zion";
# Create coolneng user # Create coolneng user
users.users.coolneng = { users.users.coolneng = {
isNormalUser = true; isNormalUser = true;
home = "/home/coolneng"; home = "/home/coolneng";
extraGroups = [ "wheel" "lp" "scanner" ]; extraGroups = [
openssh.authorizedKeys.keys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDG7JtfAqcbZV28wkNTfSWSqTOo5buH+dyT0w6SlTqq+KFh5DxREB0yGuM1UfjLpyLQ0XI7UbhCwNG28Li4yv/hwPGq63TF1kl+w4sjQKFn4bOUv1NvsfSN3oTamjfYoVsrapCiXqOvZkzEKMF47MSwOfPkqZ6ihU5V3INA0IZbl1Ri+r9MsIzvY76ZHBiF6rVqQJjdXVDbcLMViOrM56FpyK+ICo+uTkErsEbYFwevVTv9memOh778RRPesBobpZjggWOI4HXXxqk35myInYjHve9K4ox6YZMjwnwnEftONr2HyoBBcBNT+wWd1jtYxCoCWQ3vVkn4LGBDOQ3+HKb4rT3JxI66VfFyQWGJPdgJL5/ZNRlBqA7CpAtE7JaR6l7d3mCCoGW2B0atWiEXecwb8dz4CzzYm1r9Wz27L74OtPzUqcV7mQjCVDcnRsY/MtfhzyWzhB3tujVqnRtF3VrFSrm0YXS1ZWG4dltX1cfgud8s8XwwBKcFw5NdCrVxq3nRMNlGcSqbXC+RnrkK/i6ciAriZdXgFrmnBl+6qEmqIO15u2IPvDhnQs18DzRkHnPQegphhHhHix5aaqNbLfSRZNCTQaqE774X+0kuU/RWylI4muIyf4k9x+et4txeU2OC6l0W0LMpbsELzXIRr/ZBFrGHbE7/KLi8HNiAJ0KmAQ== coolneng@monolith" ]; "wheel"
shell = "/run/current-system/sw/bin/fish"; "docker"
];
openssh.authorizedKeys.keys = [
# panacea
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFRqINHR7/zc+c3/PuR+NeSsBHXXzBiEtFWSK6QaxQTW coolneng@panacea"
# caravanserai
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIX0poiPhFLFh88fhpLFX7n1oCevVRyTxe9ZvGmjPq8n zion"
];
shell = "${fish}/bin/fish";
}; };
# Set vim as default editor # Set neovim as default editor
programs.vim.defaultEditor = true; programs.neovim = {
enable = true;
defaultEditor = true;
};
# Set timezone and synchronize NTP # Set timezone and synchronize NTP
time.timeZone = "Europe/Brussels"; time.timeZone = "Europe/Brussels";
services.timesyncd.enable = true; services.timesyncd.enable = true;
# Enable zfs support
networking.hostId = "bb26c304";
boot.supportedFilesystems = [ "zfs" ];
boot.zfs.extraPools = [ "vault" ];
# Scrub zpool monthly # Scrub zpool monthly
services.zfs.autoScrub = { services.zfs.autoScrub = {
enable = true; enable = true;
interval = "monthly"; interval = "monthly";
}; };
# Auto-upgrade the system and reboot if needed # Run Nix garbage collector, while avoiding recompilation and enable flakes
system.autoUpgrade = { nix = {
enable = true; settings = {
allowReboot = true; auto-optimise-store = true;
}; trusted-users = [
"root"
# Enable zeroconf "coolneng"
services.avahi = { ];
enable = true; lazy-trees = true;
nssmdns = true; eval-cores = 2;
publish = {
enable = true;
userServices = true;
}; };
gc = {
automatic = true;
options = "--delete-older-than 14d";
dates = "Mon 03:00";
};
extraOptions = ''
keep-outputs = true
keep-derivations = true
gc-keep-outputs = true
experimental-features = nix-command flakes
'';
}; };
# Run Nix garbage collector daily # Use same version of nixpkgs for nix-shell
nix.gc = { nix.nixPath =
automatic = true; let
dates = "03:15"; path = toString ./.;
}; in
[
"nixpkgs=${inputs.nixpkgs}"
"nixos-config=${path}/configuration.nix"
];
# Configure fish shell # Configure fish shell
programs.fish.enable = true; programs.fish.enable = true;
users.users.root.shell = "/run/current-system/sw/bin/fish"; users.users.root = {
shell = "${fish}/bin/fish";
openssh.authorizedKeys.keys = config.users.users.coolneng.openssh.authorizedKeys.keys;
};
# Start a tmux session # Keep logs for a month
#programs.tmux.enable = true; services.journald.extraConfig = "MaxRetentionSec=4week";
# 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 = "24.11";
# Specify secrets
age = {
secrets.wireguard = {
file = secrets/wireguard.age;
owner = "systemd-network";
group = "systemd-network";
};
secrets.syncthing.file = secrets/syncthing.age;
secrets.msmtp.file = secrets/msmtp.age;
secrets.gitea = {
file = secrets/gitea.age;
owner = "gitea";
group = "gitea";
};
secrets.miniflux = {
file = secrets/miniflux.age;
owner = "miniflux";
group = "miniflux";
};
secrets.git = {
file = secrets/git.age;
owner = "coolneng";
group = "users";
};
# HACK The owner and group is set by systemd due to the use of DynamicUser
secrets.dendrite = {
file = secrets/dendrite.age;
owner = "63026";
group = "63026";
};
secrets.dendrite-postgres = {
file = secrets/dendrite-postgres.age;
owner = "63026";
group = "63026";
};
secrets.telegram = {
file = secrets/telegram.age;
};
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" ];
};
# Auto-upgrade the system
system.autoUpgrade = {
enable = true;
allowReboot = true;
flake = "/home/coolneng/system";
flags = [
"--update-input"
"nixpkgs"
"--commit-lock-file"
];
};
# Configure git for auto-upgrade
programs.git = {
enable = true;
config = {
user.name = "coolneng";
user.email = "akasroua@gmail.com";
safe.directory = "/home/coolneng/system";
credential.helper = "store --file ${config.age.secrets.git.path}";
};
};
# Disable man pages
documentation.man.enable = false;
# Import other configuration modules # Import other configuration modules
imports = [ imports = [
./modules/printing.nix ./modules/hardware-configuration.nix
./modules/networking.nix ./modules/networking.nix
./modules/datasync.nix ./modules/datasync.nix
./modules/hardware-configuration.nix
./modules/webstack.nix ./modules/webstack.nix
./modules/devops.nix ./modules/devops.nix
./modules/monitoring.nix
./modules/periodic.nix
./modules/communication.nix
./modules/information.nix
./modules/containers.nix
]; ];
} }

398
flake.lock generated Normal file
View File

@@ -0,0 +1,398 @@
{
"nodes": {
"agenix": {
"inputs": {
"darwin": "darwin",
"home-manager": "home-manager",
"nixpkgs": [
"nixpkgs"
],
"systems": "systems"
},
"locked": {
"lastModified": 1762618334,
"narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=",
"owner": "ryantm",
"repo": "agenix",
"rev": "fcdea223397448d35d9b31f798479227e80183f6",
"type": "github"
},
"original": {
"owner": "ryantm",
"repo": "agenix",
"type": "github"
}
},
"darwin": {
"inputs": {
"nixpkgs": [
"agenix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1744478979,
"narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "43975d782b418ebf4969e9ccba82466728c2851b",
"type": "github"
},
"original": {
"owner": "lnl7",
"ref": "master",
"repo": "nix-darwin",
"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,
"narHash": "sha256-DNz4xScpXIn7rSDohdayBpPR9H9OWCMDOgTYegX081k=",
"owner": "numtide",
"repo": "devshell",
"rev": "696acc29668b644df1740b69e1601119bf6da83b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "devshell",
"type": "github"
}
},
"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,
"narHash": "sha256-4jY7RCWUoZ9cKD8co0/4tFARpWB+57+r1bLLvXNJliY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "b7547d3eed6f32d06102ead8991ec52ab0a4f1a7",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"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_2",
"nixlib": "nixlib",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1683490239,
"narHash": "sha256-QKzpvl2XrqbobWq/I/smDa9hEniwctjJybXPVILHP0w=",
"owner": "coffeetables",
"repo": "nix-matrix-appservices",
"rev": "e795d2fbc61da45d49802bb3e8f8d0c70ddc1e68",
"type": "gitlab"
},
"original": {
"owner": "coffeetables",
"repo": "nix-matrix-appservices",
"type": "gitlab"
}
},
"nixlib": {
"locked": {
"lastModified": 1643502816,
"narHash": "sha256-Wrbt6Gs+hjXD3HUICPBJHKnHEUqiyx8rzHCgvqC1Bok=",
"owner": "divnix",
"repo": "nixpkgs.lib",
"rev": "ebed7ec5bcb5d01e298535989c6c321df18b631a",
"type": "github"
},
"original": {
"owner": "divnix",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1764440730,
"narHash": "sha256-ZlJTNLUKQRANlLDomuRWLBCH5792x+6XUJ4YdFRjtO4=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "9154f4569b6cdfd3c595851a6ba51bfaa472d9f3",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "master",
"repo": "nixos-hardware",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"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": {
"type": "tarball",
"url": "https://flakehub.com/f/NixOS/nixpkgs/0.2505"
}
},
"nixpkgs-23-11": {
"locked": {
"lastModified": 1717159533,
"narHash": "sha256-oamiKNfr2MS6yH64rUn99mIZjc45nGJlj9eGth/3Xuw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a62e6edd6d5e1fa0329b8653c801147986f8d446",
"type": "github"
},
"original": {
"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_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"
}
}
},
"root": "root",
"version": 7
}

50
flake.nix Normal file
View File

@@ -0,0 +1,50 @@
{
description = "System configuration for zion";
nixConfig = {
extra-substituters = "https://install.determinate.systems";
extra-trusted-public-keys = ''
cache.flakehub.com-3:hJuILl5sVK4iKm86JzgdXW12Y2Hwd5G07qKtHTOcDCM=
'';
};
inputs = {
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/master";
nix-matrix-appservices = {
url = "gitlab:coffeetables/nix-matrix-appservices";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
{ self, nixpkgs, ... }@inputs:
let
system = "x86_64-linux";
pkgs = import pkgs { inherit system; };
lib = nixpkgs.lib;
in
{
nixosConfigurations.zion = lib.nixosSystem {
inherit system;
modules = [
(import ./configuration.nix)
inputs.agenix.nixosModules.age
inputs.nixos-hardware.nixosModules.aoostar-r1-n100
inputs.determinate.nixosModules.default
];
specialArgs = {
inherit inputs;
};
};
};
}

103
modules/communication.nix Normal file
View File

@@ -0,0 +1,103 @@
{
config,
lib,
pkgs,
...
}:
with pkgs;
# NOTE Reference the environment variable set in the corresponding agenix secret
let
database = {
connection_string = "$DB_STRING";
max_open_conns = 100;
max_idle_conns = 5;
conn_max_lifetime = -1;
};
in
{
# Matrix server configuration
services.dendrite = {
enable = true;
httpPort = 8008;
environmentFile = config.age.secrets.dendrite-postgres.path;
loadCredential = [ "private_key:${config.age.secrets.dendrite.path}" ];
settings = {
global = {
server_name = "coolneng.duckdns.org";
private_key = config.age.secrets.dendrite.path;
inherit database;
dns_cache.enabled = true;
};
# HACK Inherit postgres connection string for the rest of the DBs
app_service_api = {
inherit database;
};
media_api = {
inherit database;
};
room_server = {
inherit database;
};
push_server = {
inherit database;
};
mscs = {
inherit database;
mscs = [
"msc2836"
"msc2946"
];
};
sync_api = {
inherit database;
};
key_server = {
inherit database;
};
federation_api = {
inherit database;
};
user_api = {
account_database = database;
device_database = database;
};
};
};
# 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
];
# MQTT configuration
services.mosquitto = {
enable = true;
dataDir = "/vault/mosquitto";
logType = [
"websockets"
"error"
"warning"
"notice"
"information"
];
logDest = [ "syslog" ];
listeners = [
{
users.homeostasis = {
acl = [ "write #" ];
hashedPasswordFile = config.age.secrets.mqtt-sender.path;
};
users.prometheus = {
acl = [ "read #" ];
hashedPasswordFile = config.age.secrets.mqtt-receiver.path;
};
}
];
};
}

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,44 +1,114 @@
# Syncthing and Radicale configuration {
{ config, pkgs, lib, ... }: config,
pkgs,
lib,
...
}:
{ {
environment.systemPackages = with pkgs; [ # Syncthing configuration
syncthing
radicale
];
# Enable syncthingthing
services.syncthing = { services.syncthing = {
enable = true; enable = true;
openDefaultPorts = true; openDefaultPorts = true;
guiAddress = "0.0.0.0:8384"; guiAddress = "0.0.0.0:8384";
dataDir = "/vault/syncthing"; dataDir = "/vault/syncthing";
declarative = { key = config.age.secrets.syncthing.path;
settings = {
extraOptions.options = {
maxFolderConcurrency = 4;
progressUpdateIntervalS = -1;
};
devices = { devices = {
monolith = { id = "QGDGEZQ-INE7XDY-DNX2QI4-QI7ANQJ-57REEO2-FUMH545-FZS5RYU-ULF7HA2"; }; panacea.id = "VEGVHKF-P4FT3BD-4T3ML7J-65URQOU-3XKNMI5-6LGWSCI-BIQZOUE-RKQ6PQX";
roamer = { id = "DS3PJH3-J6SNMHM-XUJTDLO-DHGJL5U-J3RUMAG-4OSJWIK-VSJSDVJ-PIHZ2QP"; }; caravanserai.id = "XQAXYEU-FWLAFZM-GTZYDGH-AIRBEXI-4CZD365-JUBTHDA-GOXXOYV-E5LEYQE";
}; };
folders = { folders = {
"Documents" = { devices = [ "monolith" "roamer" ]; id = "wusdj-bfjkr"; }; Documents = {
"Notes" = { devices = [ "monolith" "roamer" ]; id = "2aqt7-vpprc"; }; id = "wusdj-bfjkr";
"Music" = { devices = [ "monolith" "roamer" ]; id = "kafhz-bfmzm"; }; type = "receiveonly";
"Photos" = { devices = [ "monolith" "roamer" ]; id = "mjibc-ustcg"; }; path = "/vault/syncthing/Documents";
"Security" = { devices = [ "monolith" "roamer" ]; id = "z4lpn-pmm3v"; }; devices = [
"Projects" = { devices = [ "monolith" ]; id = "cjhmu-avy9v"; }; "panacea"
"caravanserai"
];
};
Documents.type = "receiveonly"; Notes = {
Notes.type = "receiveonly"; id = "kafhz-bfmzm";
Music.type = "receiveonly"; type = "receiveonly";
Photos.type = "receiveonly"; path = "/vault/syncthing/Notes";
Security.type = "receiveonly"; devices = [
Projects.type = "receiveonly"; "panacea"
"caravanserai"
];
};
Documents.path = "/vault/syncthing/Documents"; Music = {
Notes.path = "/vault/syncthing/Notes"; id = "2aqt7-vpprc";
Music.path = "/vault/syncthing/Music"; type = "receiveonly";
Photos.path = "/vault/syncthing/Photos"; path = "/vault/syncthing/Music";
Security.path = "/vault/syncthing/Security"; devices = [
Projects.path = "/vault/syncthing/Projects"; "panacea"
"caravanserai"
];
};
Photos = {
id = "mjibc-ustcg";
type = "receiveonly";
path = "/vault/syncthing/Photos";
devices = [
"panacea"
"caravanserai"
];
};
Projects = {
id = "cjhmu-avy9v";
type = "receiveonly";
path = "/vault/syncthing/Projects";
devices = [ "panacea" ];
};
Phone = {
id = "m2007j20cg_vc7r-photos";
type = "receiveonly";
path = "/vault/syncthing/Photos/Phone";
devices = [
"panacea"
"caravanserai"
];
};
Files = {
id = "tsk52-u6rbk";
type = "receiveonly";
path = "/vault/syncthing/Files";
devices = [
"panacea"
"caravanserai"
];
};
Phone-screenshots = {
id = "pp70r-pbr70";
type = "receiveonly";
path = "/vault/syncthing/Photos/Phone-screenshots";
devices = [
"panacea"
"caravanserai"
];
};
Audio = {
id = "tarrs-5mxck";
type = "receiveonly";
path = "/vault/syncthing/Audio";
devices = [
"panacea"
"caravanserai"
];
};
}; };
}; };
}; };
@@ -46,19 +116,30 @@
# Enable Radicale # Enable Radicale
services.radicale = { services.radicale = {
enable = true; enable = true;
config = '' settings = {
[server] server.hosts = [ "127.0.0.1:5232" ];
hosts = 127.0.0.1:5232 auth = {
max_connections = 20 type = "htpasswd";
max_content_length = 100000000 htpasswd_filename = "/vault/radicale/users";
timeout = 30 htpasswd_encryption = "md5";
delay = 1;
[auth] };
type = htpasswd storage.filesystem_folder = "/vault/radicale/collections";
htpasswd_filename = /var/lib/radicale/users };
htpasswd_encryption = plain
delay = 1
'';
}; };
# ZFS automatic snapshots
services.zfs.autoSnapshot = {
enable = true;
frequent = 4;
hourly = 24;
daily = 7;
weekly = 4;
monthly = 12;
};
# Start services after ZFS mount
systemd.services.syncthing.unitConfig.RequiresMountsFor = [ /vault/syncthing ];
systemd.services.radicale.unitConfig.RequiresMountsFor = [ /vault/radicale ];
} }

View File

@@ -1,29 +1,35 @@
# Software development configuration
{ config, pkgs, lib, ... }:
{ {
environment.systemPackages = with pkgs; [ config,
gitea pkgs,
git-lfs lib,
]; ...
}:
# Gitea setup with daily backup {
# Set up Gitea with LFS support
services.gitea = { services.gitea = {
enable = true; enable = true;
domain = "coolneng.duckdns.org";
rootUrl = "https://coolneng.duckdns.org/gitea";
database = { database = {
type = "postgres"; type = "postgres";
passwordFile = "/var/keys/gitea/db"; passwordFile = config.age.secrets.gitea.path;
}; };
cookieSecure = true;
disableRegistration = true;
repositoryRoot = "/vault/git"; repositoryRoot = "/vault/git";
dump.enable = true; appName = "Gitea";
useWizard = true; lfs = {
extraConfig = '' enable = true;
LFS_START_SERVER = true contentDir = "${config.services.gitea.repositoryRoot}/data/lfs";
LFS_HTTP_AUTH_EXPIRY = 60m };
''; settings = {
server = {
DISABLE_SSH = true;
DOMAIN = "git.psydnd.org";
ROOT_URL = "https://git.psydnd.org";
};
service.DISABLE_REGISTRATION = true;
session.COOKIE_SECURE = true;
actions.ENABLED = true;
};
}; };
# Start services after ZFS mount
systemd.services.gitea.unitConfig.RequiresMountsFor = [ /vault/git ];
} }

View File

@@ -1,64 +1,58 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, ... }: { config, lib, pkgs, modulesPath, ... }:
{ {
imports = imports =
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix> [ (modulesPath + "/installer/scan/not-detected.nix")
]; ];
boot.initrd.availableKernelModules = [ "usb_storage" ]; boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "nvme" "usbhid" "sd_mod" ];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [ ];
boot.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [ ];
fileSystems."/" = fileSystems."/" =
{ device = "/dev/disk/by-uuid/44444444-4444-4444-8888-888888888888"; { device = "sysion/stateful/root";
fsType = "ext4";
};
fileSystems."/vault" =
{ device = "vault";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/vault/git" = fileSystems."/nix" =
{ device = "vault/git"; { device = "sysion/ephemeral/nix";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/vault/syncthing" = fileSystems."/tmp" =
{ device = "vault/syncthing"; { device = "sysion/ephemeral/tmp";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/vault/backups" = fileSystems."/home/coolneng" =
{ device = "vault/backups"; { device = "sysion/stateful/home";
fsType = "zfs"; fsType = "zfs";
}; };
fileSystems."/vault/nextcloud" = fileSystems."/boot" =
{ device = "vault/nextcloud"; { device = "/dev/disk/by-uuid/C332-4650";
fsType = "zfs"; fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
}; };
fileSystems."/vault/backups/monolith" = swapDevices =
{ device = "vault/backups/monolith"; [ { device = "/dev/disk/by-uuid/d388feef-a651-4dae-8161-f666136de240"; }
fsType = "zfs"; ];
};
fileSystems."/vault/backups/zion" = # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
{ device = "vault/backups/zion"; # (the default) this is the recommended approach. When using systemd-networkd it's
fsType = "zfs"; # 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.enp2s0.useDHCP = lib.mkDefault true;
# networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wg0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
fileSystems."/vault/backups/zion/databases" = nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
{ device = "vault/backups/zion/databases"; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
fsType = "zfs";
};
swapDevices = [ ];
nix.maxJobs = lib.mkDefault 4;
} }

44
modules/information.nix Normal file
View File

@@ -0,0 +1,44 @@
{
config,
lib,
pkgs,
...
}:
{
# Miniflux configuration
services.miniflux = {
enable = true;
adminCredentialsFile = config.age.secrets.miniflux.path;
};
# Microbin configuration
services.microbin = {
enable = true;
passwordFile = config.age.secrets.microbin.path;
settings = {
MICROBIN_PORT = 9091;
MICROBIN_PUBLIC_PATH = "https://bin.psydnd.org";
MICROBIN_QR = true;
MICROBIN_WIDE = true;
};
};
# 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;
}

92
modules/monitoring.nix Normal file
View File

@@ -0,0 +1,92 @@
{
config,
lib,
pkgs,
...
}:
with pkgs;
{
# Notify when a disk starts going haywire
services.smartd = {
enable = true;
notifications.mail = {
enable = true;
sender = "akasroua+smartd@disroot.org";
recipient = "akasroua@disroot.org";
mailer = "${msmtp}/bin/msmtp -t --read-envelope-from";
};
};
# Notify about zpool problems
services.zfs.zed = {
enableMail = false;
settings = {
ZED_EMAIL_ADDR = "akasroua+smartd@disroot.org";
ZED_EMAIL_PROG = "mail";
ZED_EMAIL_OPTS = "-s '@SUBJECT@' @ADDRESS@";
ZED_NOTIFY_VERBOSE = false;
};
};
# Set up msmtp as notifier
programs.msmtp = {
enable = true;
defaults = {
port = 587;
tls = true;
};
accounts = {
default = {
auth = true;
host = "disroot.org";
user = "akasroua@disroot.org";
passwordeval = "${coreutils}/bin/cat ${config.age.secrets.msmtp.path}";
};
};
};
# Metrics collection
services.prometheus = {
enable = true;
port = 9001;
retentionTime = "10y";
extraFlags = [ "--web.enable-admin-api" ];
exporters = {
node = {
enable = true;
enabledCollectors = [ "systemd" ];
port = 9002;
};
postgres.enable = true;
smartctl.enable = true;
};
scrapeConfigs = [
{
job_name = "zion";
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.psydnd.org";
http_port = 9009;
http_addr = "127.0.0.1";
};
};
}

View File

@@ -1,34 +1,189 @@
{ config, pkgs, lib, ... }:
let password = builtins.readFile /var/lib/ddclient/token;
in
{ {
config,
pkgs,
lib,
...
}:
environment.systemPackages = with pkgs; [ let
ddclient wireguard_port = 1194;
];
in
{
# Enable systemd-networkd
networking = {
hostName = "zion";
hostId = "760bfad7";
useDHCP = false;
useNetworkd = true;
dhcpcd.enable = false;
};
systemd.network.wait-online.enable = false;
# Assign a static IP
systemd.network.networks."24-home" = {
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";
};
# Dynamic DNS configuration # Dynamic DNS configuration
services.ddclient = { services.inadyn = {
enable = true; enable = true;
quiet = true; interval = "*:0/30";
protocol = "duckdns"; settings.provider."duckdns" = {
domains = [ "coolneng.duckdns.org" ]; hostname = "coolneng.duckdns.org";
inherit password; include = config.age.secrets.inadyn-duckdns.path;
};
};
# Dynamic DNS configuration for Porkbun
# NOTE Temporary workaround until Inadyn fixes the Porkbun module
services.oink = {
enable = true;
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 # Firewall configuration
networking.firewall = { networking.firewall = {
allowedTCPPorts = [ allowedTCPPorts = [
631 # Cups 80 # HTTP
6566 # SANE 443 # HTTPS
80 53 # DNS
443 8448 # Matrix
1883 # MQTT
]; ];
autoLoadConntrackHelpers = true; allowedUDPPorts = [
connectionTrackingModules = [ "sane" ]; wireguard_port # Wireguard
53 # DNS
];
extraCommands = ''
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
'';
};
# Wireguard setup
systemd.network.netdevs."wg0" = {
netdevConfig = {
Kind = "wireguard";
Name = "wg0";
};
wireguardConfig = {
ListenPort = wireguard_port;
PrivateKeyFile = config.age.secrets.wireguard.path;
};
wireguardPeers = [
# panacea
{
PublicKey = "XMkTztU2Y8hw6Fu/2o4Gszij+EmNacvFMXuZyHS1n38=";
AllowedIPs = [
"10.8.0.2/32"
"fd00::2/128"
];
}
# caravanserai
{
PublicKey = "mCsTj09H7lfDDs8vMQkJOlItHtHQ6MPUyfGO5ZjBbVs=";
AllowedIPs = [
"10.8.0.3/32"
"fd00::3/128"
];
}
# kathreftis
{
PublicKey = "qfHtv6LSZjtxvH46d8pysr+/yPo2tV9cZumgIpxBNF4=";
AllowedIPs = [
"10.8.0.4/32"
"fd00::4/128"
];
}
];
};
systemd.network.networks."wg0" = {
matchConfig.Name = "wg0";
networkConfig = {
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;
settings = {
domain-needed = true;
bogus-priv = true;
no-resolv = true;
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;
conf-file = "${pkgs.dnsmasq}/share/dnsmasq/trust-anchors.conf";
dnssec = false;
address = "/psydnd.org/192.168.128.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";
};
}; };
} }

51
modules/periodic.nix Normal file
View File

@@ -0,0 +1,51 @@
{
config,
lib,
pkgs,
...
}:
let
stateDir = "/var/lib/dnscrypt-proxy";
blocklist = "${stateDir}/blocklist.txt";
in
{
# PostgreSQL daily backups
services.postgresqlBackup = {
enable = true;
backupAll = true;
location = "/vault/backups/zion/databases";
startAt = "*-*-* 05:15:00";
};
# 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
];
script = ''
curl -L https://download.dnscrypt.info/blacklists/domains/mybase.txt -o ${blocklist}
'';
serviceConfig.Type = "oneshot";
startAt = "02:00:00";
};
# Push zion changes to git daily
systemd.user.services.zion-push = {
description = "Push zion changes to git";
wantedBy = [ "default.target" ];
path = with pkgs; [ git ];
script = ''
${pkgs.git}/bin/git -C /home/coolneng/system pull
${pkgs.git}/bin/git -C /home/coolneng/system push
'';
serviceConfig.Type = "oneshot";
startAt = "07:00:00";
after = [ "network-online.target" ];
};
}

View File

@@ -1,36 +0,0 @@
# CUPS and SANE configuration
{ config, pkgs, lib, ... }:
{
environment.systemPackages = with pkgs; [
cups
sane-backends
];
# Enable CUPS with Zeroconf
services.printing = {
enable = true;
drivers = with pkgs; [ hplip_3_18_5 ];
browsing = true;
listenAddresses = [ "0.0.0.0:631" ];
defaultShared = true;
};
# Enable SANE
hardware.sane = {
enable = true;
extraBackends = with pkgs; [ hplip_3_18_5 ];
};
services.saned = {
enable = true;
extraConfig = ''
192.168.1.0/24
'';
};
users.users.scanner = {
extraGroups = [ "lp" ];
};
}

View File

@@ -1,19 +1,17 @@
# LEPP stack configuration # Web services configuration
{ config, pkgs, lib, ... }: {
config,
pkgs,
lib,
...
}:
{ {
environment.systemPackages = with pkgs; [ # Reverse proxy configuration
nginx
postgresql_11
libressl
miniflux
];
services.nginx = { services.nginx = {
enable = true; enable = true;
resolver.ipv6 = false;
recommendedTlsSettings = true; recommendedTlsSettings = true;
recommendedGzipSettings = true; recommendedBrotliSettings = true;
recommendedProxySettings = true; recommendedProxySettings = true;
recommendedOptimisation = true; recommendedOptimisation = true;
clientMaxBodySize = "0"; clientMaxBodySize = "0";
@@ -22,117 +20,219 @@
sslDhparam = "/var/lib/dhparams/nginx.pem"; sslDhparam = "/var/lib/dhparams/nginx.pem";
commonHttpConfig = '' commonHttpConfig = ''
# Add HSTS header with preloading to HTTPS requests. # Add HSTS header with preloading to HTTPS requests.
# Adding this header to HTTP requests is discouraged add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
map $scheme $hsts_header {
https "max-age=31536000; includeSubdomains; preload";
}
add_header Strict-Transport-Security $hsts_header;
# Enable CSP for your services.
#add_header Content-Security-Policy "script-src 'self'; object-src 'none'; base-uri 'none';" always;
# Minimize information leaked to other domains # Minimize information leaked to other domains
add_header 'Referrer-Policy' 'origin-when-cross-origin'; add_header 'Referrer-Policy' 'strict-origin-when-cross-origin';
# Disable embedding as a frame
add_header X-Frame-Options DENY;
# Prevent injection of code in other mime types (XSS Attacks) # Prevent injection of code in other mime types (XSS Attacks)
add_header X-Content-Type-Options nosniff; add_header X-Content-Type-Options nosniff;
# Enable XSS protection of the browser.
# May be unnecessary when CSP is configured properly (see above)
add_header X-XSS-Protection "1; mode=block"; add_header X-XSS-Protection "1; mode=block";
add_header X-Frame-Options SAMEORIGIN;
# This might create errors # This might create errors
proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict"; proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
''; '';
virtualHosts = { virtualHosts = {
# Old domain being redirected
"coolneng.duckdns.org" = { "coolneng.duckdns.org" = {
enableACME = true; useACMEHost = "coolneng.duckdns.org";
forceSSL = true; forceSSL = true;
sslCertificate = "/var/lib/acme/coolneng.duckdns.org/fullchain.pem"; locations = {
sslCertificateKey = "/var/lib/acme/coolneng.duckdns.org/key.pem"; "/".return = "301 https://psydnd.org$request_uri";
locations."/radicale/" = { # Delegation for Matrix
"/.well-known/" = {
alias = "${../well-known}" + "/";
extraConfig = ''
${config.services.nginx.commonHttpConfig}
default_type application/json;
add_header Access-Control-Allow-Origin * always;
'';
};
};
};
# 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/"; proxyPass = "http://localhost:5232/";
extraConfig = '' extraConfig = ''
proxy_set_header X-Script-Name /radicale; proxy_set_header X-Script-Name /;
proxy_pass_header Authorization; proxy_pass_header Authorization;
''; '';
}; };
locations."/syncthing/" = { };
proxyPass = "http://localhost:8384/"; "sync.psydnd.org" = {
}; useACMEHost = "psydnd.org";
locations."/gitea/" = { forceSSL = true;
locations."/".proxyPass = "http://localhost:8384/";
};
"git.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/" = {
proxyPass = "http://localhost:3000/"; 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.psydnd.org; frame-ancestors git.psydnd.org";
'';
}; };
locations."/miniflux/" = { };
proxyPass = "http://localhost:8080/miniflux/"; "rss.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/".proxyPass = "http://localhost:8080/";
};
"matrix.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
listen = [
# IPv4
{
addr = "0.0.0.0";
port = 8448;
ssl = true;
}
{
addr = "0.0.0.0";
port = 443;
ssl = true;
}
# IPv6
{
addr = "[::]";
port = 8448;
ssl = true;
}
{
addr = "[::]";
port = 443;
ssl = true;
}
];
locations."~ ^(/_matrix|/_synapse/client)".proxyPass = "http://localhost:8008";
};
"element.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/".root = pkgs.element-web.override {
conf.default_server_config = {
"m.homeserver"."base_url" = "https://matrix.psydnd.org";
"m.identity_server"."base_url" = "https://vector.im";
};
}; };
locations."/wallabag/" = { };
proxyPass = "http://localhost:8081/"; "books.psydnd.org" = {
useACMEHost = "psydnd.org";
forceSSL = true;
locations."/" = {
proxyPass = "http://localhost:9000/";
proxyWebsockets = true;
extraConfig = ''
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
'';
}; };
}; };
"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 # ACME certs configuration
security.acme.certs = { security.acme = {
"coolneng.duckdns.org" = { acceptTerms = true;
email = "akasroua@gmail.com"; defaults = {
postRun = "systemctl reload nginx.service"; 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 # Generate dhparams
security.dhparams = { security.dhparams = {
enable = true; enable = true;
params = { nginx.bits = 2048; }; defaultBitSize = 4096;
params.nginx.bits = 4096;
}; };
# PostgreSQL databases configuration # PostgreSQL databases configuration
services.postgresql = { services.postgresql = {
enable = true; enable = true;
package = pkgs.postgresql_11; package = pkgs.postgresql_16;
ensureDatabases = [ "gitea" "wallabag" ];
ensureUsers = [
{
name = "gitea";
ensurePermissions = {"DATABASE gitea" = "ALL PRIVILEGES";};
}
{
name = "wallabag";
ensurePermissions = {"DATABASE wallabag" = "ALL PRIVILEGES";};
}
];
authentication = lib.mkForce '' authentication = lib.mkForce ''
# Generated file; do not edit! # Generated file; do not edit!
# TYPE DATABASE USER ADDRESS METHOD # TYPE DATABASE USER ADDRESS METHOD
local all all trust local all all trust
host all all 127.0.0.1/32 trust host all all 127.0.0.1/32 trust
host all all ::1/128 trust host all all ::1/128 trust
''; '';
identMap = '' settings = {
gitea-users gitea gitea max_connections = "300";
''; shared_buffers = "1024MB";
};
# PostgreSQL daily backups
services.postgresqlBackup = {
enable = true;
backupAll = true;
location = "/vault/backups/zion/databases";
startAt = "*-*-* 05:15:00";
};
# Miniflux configuration
services.miniflux = {
enable = true;
adminCredentialsFile = "/var/keys/miniflux/admin";
config = {
BASE_URL = "https://coolneng.duckdns.org/miniflux/";
}; };
}; };
# Restart reverse proxy after services startup
systemd.services.nginx.after = [
"gitea.service"
"syncthing.service"
"miniflux.service"
"radicale.service"
"dendrite.service"
"grafana.service"
"podman-openbooks.service"
"podman-mqtt2prometheus.service"
"podman-opodsync.service"
];
} }

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"

50
scripts/motd.sh Executable file
View File

@@ -0,0 +1,50 @@
#!/run/current-system/sw/bin/bash
# Kernel information
LINUX=$(uname -rs | cut -d " " -f2)
# System uptime
uptime=$(cut -f1 -d. </proc/uptime)
upDays=$((uptime / 60 / 60 / 24))
upHours=$((uptime / 60 / 60 % 24))
upMins=$((uptime / 60 % 60))
upSecs=$((uptime % 60))
# System load
MEMORY=$(free -m | awk 'NR==2{printf "%s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }')
CPU_LOAD=$(uptime | cut -d: -f5)
echo "============================================================
- Kernel..............: $LINUX
- System load.........:$CPU_LOAD
- Memory used.........: $MEMORY
- System uptime.......: $upDays days $upHours hours $upMins minutes $upSecs seconds
============================================================"
services=(
"syncthing.service"
"radicale.service"
"miniflux.service"
"gitea.service"
"dendrite.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
if [[ -z $var ]]; then
printf "\n"
else
if systemctl -q is-active "${var}"; then
printf "%-40s [\e[32mOK\e[39m]\n" "$var"
else
printf "%-40s [\e[31mFAIL\e[39m]\n" "$var"
fi
fi
done
echo "============================================================"

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

Binary file not shown.

BIN
secrets/dendrite.age Normal file

Binary file not shown.

BIN
secrets/facebook.age Normal file

Binary file not shown.

8
secrets/git.age Normal file
View File

@@ -0,0 +1,8 @@
age-encryption.org/v1
-> ssh-ed25519 iUaRGg MMf85MfBRho4AAWRJW6WlGxG4Drnuz9qqBlTzpOKiRc
tZSl7z0wkSO0K0mJ44q9Ix3yVCMp3LMh/jllNAOK5+E
-> n5p-grease .1Sb)yr iCEC
lXYS70Iag6qiAErdO8kSpaTqeBwXTWszUTCT1M3Uy4VxFY17
--- iWFH19Fd0y8eP9rkWjHt4xqFXqVC/S6dNEfczvRkGwY
txE <09>Rͫ$Y<><0F><><EFBFBD><EFBFBD>j`<60>n<EFBFBD><6E>j<EFBFBD><6A><EFBFBD><13><14><><EFBFBD>RI<18>P$$Ag<01>]볷<>2<EFBFBD><32>g F
t<EFBFBD>[u<06><><EFBFBD><EFBFBD>M<EFBFBD><1E>nG<6E><47><17><><07>q<07><>;xa<78>š<EFBFBD>qe

7
secrets/gitea.age Normal file
View File

@@ -0,0 +1,7 @@
age-encryption.org/v1
-> ssh-ed25519 iUaRGg qr3AoWBF4bx+2bK0STPQtBRDjU6HW5SfXIIUE8GJfxE
mr9m+Le1RrMFumNjSEXpkqbqK9e6jbT4ltWvx/hRplE
-> !W;iA-grease 343tk
f2Fn5fkaYHB/X9wKx/Fa5pJN
--- RynMspwxpbATQ4tCuRoyB9d62IhnADztJu58ohN7mkw
e<EFBFBD>E<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'+<2B><><><0F><>.0O<EFBFBD><EFBFBD>+$%@YWw|<1A><>v2<76>Ri -<2D>ոi<D5B8><69><18>f<07><>f<1A><>i<EFBFBD><69><EFBFBD>vO<0F>܆<><DC86>w!<1F><><EFBFBD><EFBFBD><EFBFBD>Q<EFBFBD><1D>7<EFBFBD>H<EFBFBD>O<EFBFBD>i<EFBFBD><69>0d9<64>!G-<2D>CY<43>+ẖyOB<1C>?<3F><>)<29>Ю1<D0AE><31>뒚i K<><4B>z-~M<>_|#a<>Z<03>4I<><49>(<28>g<02><><EFBFBD><EFBFBD>o<EFBFBD>

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.

BIN
secrets/miniflux.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.

7
secrets/msmtp.age Normal file
View File

@@ -0,0 +1,7 @@
age-encryption.org/v1
-> ssh-ed25519 iUaRGg +E0/YCwuUtJNFQHtniQyN+xU/1s0phXNMd5YYbOGGFA
Xfht0XPm+oflQLicH5MWGF2nLzu44p/DgahpZa2K70k
-> NlBVK_)-grease SRaB^ jo >B#rtU zoC-H]
lAQL9zTNvGOmJv7FhQaYKd9Ac+MdQSKAhN8hgOTzyh4
--- 0ox9Q/KOAhuHxkDHIwj6ab6rzie4T/mU9GIT8p4x+0g
<12>UC<55><43>8<EFBFBD><38>^<5E>UK<55><4B><EFBFBD>x<EFBFBD>U<EFBFBD>^<5E>=<3D>)<29>d<EFBFBD>l<><6C><EFBFBD><12><><EFBFBD><EFBFBD>Q<EFBFBD>ҫpQH<51><48><EFBFBD><EFBFBD>1<EFBFBD><31>x<EFBFBD><78>;K<>U;<3B>lb<><62>K9<4B>*`<60><>:I<>:<3A><><13><>t<EFBFBD><74>SF<53><46>f<EFBFBD>yGU

BIN
secrets/readeck.age Normal file

Binary file not shown.

25
secrets/secrets.nix Normal file
View File

@@ -0,0 +1,25 @@
let
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 ];
"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><>~

BIN
secrets/syncthing.age Normal file

Binary file not shown.

BIN
secrets/telegram.age Normal file

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.

BIN
secrets/wireguard.age Normal file

Binary file not shown.

5
well-known/matrix/client Normal file
View File

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

1
well-known/matrix/server Normal file
View File

@@ -0,0 +1 @@
{ "m.server": "matrix.psydnd.org:443" }