Compare commits

...

67 commits

Author SHA1 Message Date
db728f1fc0
builders: Specify extra platforms for Nix 2024-11-29 23:02:05 +01:00
deb35998b7
builders: Set correct Nix system features 2024-11-29 22:34:55 +01:00
d4b4561588
builders: Determine qemu executable paths at build time 2024-11-29 20:42:04 +01:00
71f81dbb0f
hydra: Allow user mode emulation on 20 % of builders 2024-11-29 16:42:11 +01:00
d0e97fa1ed
builders: Enable user mode emulation for RISC-V and ARM 2024-11-29 16:41:23 +01:00
8a93fb6c56
seras: Enable user mode emulation inside sandboxes 2024-11-29 15:24:45 +01:00
52f13d5dbd
seras: Enable RISC-V user mode emulation 2024-11-29 15:21:37 +01:00
Update Bot
9fea7edfec
flake.lock: Update
Flake lock file updates:

• Updated input 'firefox':
    'git+https://woof.rip/mikael/firefox.git?ref=refs/heads/main&rev=0ab60773023ac5c303b402e8a8c84708ea5c59bc' (2024-11-27)
  → 'git+https://woof.rip/mikael/firefox.git?ref=refs/heads/main&rev=cf453c076add9ee34542a318fa7a7a865087921b' (2024-11-28)
• Added input 'firefox/eosyn':
    'git+https://woof.rip/mikael/eosyn.git?ref=refs/heads/main&rev=29adbc654463e677bc8bfbfa311c765584446bd8' (2024-11-28)
• Added input 'firefox/eosyn/lix':
    'f5754dc90a.tar.gz?narHash=sha256-2RNOVB3UIIxxjiFKrEqSgnSoHK%2Bolbw2o5g/63dDjJ8%3D&rev=f5754dc90ae9b1207656d0e29ad2704d3ef1e554' (2024-11-28)
• Added input 'firefox/eosyn/lix-module':
    '15b999f9c9.tar.gz?narHash=sha256-Jw2MhzgCCrKV2MJytehG0cCLIAosBX71p8qmQ6XQlR4%3D&rev=15b999f9c958c475f71fb8c543b9fc2f36ae8730' (2024-11-26)
• Added input 'firefox/eosyn/lix-module/flake-utils':
    'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b' (2024-11-13)
• Added input 'firefox/eosyn/lix-module/flake-utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e' (2023-04-09)
• Added input 'firefox/eosyn/lix-module/flakey-profile':
    'github:lf-/flakey-profile/243c903fd8eadc0f63d205665a92d4df91d42d9d' (2024-04-12)
• Added input 'firefox/eosyn/lix-module/lix':
    follows 'firefox/eosyn/lix'
• Added input 'firefox/eosyn/lix-module/nixpkgs':
    follows 'firefox/eosyn/nixpkgs'
• Added input 'firefox/eosyn/nixpkgs':
    'github:NixOS/nixpkgs/af51545ec9a44eadf3fe3547610a5cdd882bc34e' (2024-11-26)
• Removed input 'firefox/neoidiosyn'
• Removed input 'firefox/neoidiosyn/lix'
• Removed input 'firefox/neoidiosyn/lix-module'
• Removed input 'firefox/neoidiosyn/lix-module/flake-utils'
• Removed input 'firefox/neoidiosyn/lix-module/flake-utils/systems'
• Removed input 'firefox/neoidiosyn/lix-module/flakey-profile'
• Removed input 'firefox/neoidiosyn/lix-module/lix'
• Removed input 'firefox/neoidiosyn/lix-module/nixpkgs'
• Removed input 'firefox/neoidiosyn/nixpkgs'
• Removed input 'firefox/nixpkgs'
• Updated input 'home-manager':
    'github:nix-community/home-manager/a9953635d7f34e7358d5189751110f87e3ac17da' (2024-11-24)
  → 'github:nix-community/home-manager/2f7739d01080feb4549524e8f6927669b61c6ee3' (2024-11-28)
• Updated input 'nixvim':
    'github:nix-community/nixvim/fc9178d124eba824f1862513314d351784e1a84c' (2024-11-27)
  → 'github:nix-community/nixvim/05331006a42846d6e55129b642485f45f90c9efc' (2024-11-29)
2024-11-29 04:20:15 +01:00
Update Bot
242e72e7cb
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/869ba3a87486289a4197b52a6c9e7222edf00b3e' (2024-11-26)
  → 'github:nix-community/disko/341482e2f4d888e3f60cae1c12c3df896e7230d8' (2024-11-27)
• Updated input 'firefox':
    'git+https://woof.rip/mikael/firefox.git?ref=refs/heads/main&rev=681bfba37de687030ee8be54d9d099792153d590' (2024-11-26)
  → 'git+https://woof.rip/mikael/firefox.git?ref=refs/heads/main&rev=0ab60773023ac5c303b402e8a8c84708ea5c59bc' (2024-11-27)
• Updated input 'firefox/neoidiosyn':
    'git+https://woof.rip/mikael/neoidiosyn.git?ref=refs/heads/main&rev=abbf0fb2043f2b1adedeb1f3e9c3bfe0edeb5145' (2024-11-26)
  → 'git+https://woof.rip/mikael/neoidiosyn.git?ref=refs/heads/main&rev=6028166f27a98fe92913b1923b6e07b35c0c40d0' (2024-11-27)
• Updated input 'nixvim':
    'github:nix-community/nixvim/8b19d154823619af7ced464185e8d13ec80a758b' (2024-11-26)
  → 'github:nix-community/nixvim/fc9178d124eba824f1862513314d351784e1a84c' (2024-11-27)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/698a62c628c2ec423aa770d8ec0e1d0bcf4fca1a' (2024-11-23)
  → 'github:lnl7/nix-darwin/6ab87b7c84d4ee873e937108c4ff80c015a40c7a' (2024-11-26)
• Updated input 'nixvim/treefmt-nix':
    'github:numtide/treefmt-nix/705df92694af7093dfbb27109ce16d828a79155f' (2024-11-22)
  → 'github:numtide/treefmt-nix/84637a7ab04179bdc42aa8fd0af1909fba76ad0c' (2024-11-26)
2024-11-28 04:20:23 +01:00
Update Bot
ddb7bf0d93
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/2ed5e30fc7e34adf455db8b02b9151d3922a54ea' (2024-11-25)
  → 'github:nix-community/disko/869ba3a87486289a4197b52a6c9e7222edf00b3e' (2024-11-26)
• Updated input 'firefox':
    'git+https://woof.rip/mikael/firefox.git?ref=refs/heads/main&rev=e4a679e2a725ef216614c5a11543359503f507cc' (2024-11-25)
  → 'git+https://woof.rip/mikael/firefox.git?ref=refs/heads/main&rev=681bfba37de687030ee8be54d9d099792153d590' (2024-11-26)
• Updated input 'firefox/neoidiosyn':
    'git+https://woof.rip/mikael/neoidiosyn.git?ref=refs/heads/main&rev=6f31daf4bb997f04fcad4425ecfa2451271c7c4f' (2024-11-25)
  → 'git+https://woof.rip/mikael/neoidiosyn.git?ref=refs/heads/main&rev=abbf0fb2043f2b1adedeb1f3e9c3bfe0edeb5145' (2024-11-26)
• Updated input 'firefox/neoidiosyn/lix-module':
    'aa2846680f.tar.gz?narHash=sha256-n6dPGRlMGdL8X5gviA6ZuRfUdbdD5KiNN/BpABA5YT0%3D&rev=aa2846680fa9a2032939d720487942567fd9eb63' (2024-11-18)
  → '15b999f9c9.tar.gz?narHash=sha256-Jw2MhzgCCrKV2MJytehG0cCLIAosBX71p8qmQ6XQlR4%3D&rev=15b999f9c958c475f71fb8c543b9fc2f36ae8730' (2024-11-26)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/23e89b7da85c3640bbc2173fe04f4bd114342367' (2024-11-19)
  → 'github:nixos/nixpkgs/4633a7c72337ea8fd23a4f2ba3972865e3ec685d' (2024-11-25)
• Updated input 'nixvim':
    'github:nix-community/nixvim/a81a03a3f5dcdcdee5cbe831a9f2e81895e92875' (2024-11-24)
  → 'github:nix-community/nixvim/8b19d154823619af7ced464185e8d13ec80a758b' (2024-11-26)
• Updated input 'stylix':
    'github:danth/stylix/b667a340730dd3d0596083aa7c949eef01367c62' (2024-11-22)
  → 'github:danth/stylix/7689e621f87bce7b6ab1925dfd70ad1f4c80f334' (2024-11-26)
• Updated input 'stylix/base16-vim':
    'github:tinted-theming/base16-vim/6e955d704d046b0dc3e5c2d68a2a6eeffd2b5d3d' (2024-05-19)
  → 'github:tinted-theming/base16-vim/61165b1632409bd55e530f3dbdd4477f011cadc6' (2024-11-18)
• Updated input 'stylix/flake-compat':
    'github:edolstra/flake-compat/35bb57c0c8d8b62bbfd284272c928ceb64ddbde9' (2023-01-17)
  → 'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04)
• Updated input 'stylix/flake-utils':
    'github:numtide/flake-utils/b1d9ab70662946ef0850d488da1c9019f3a9752a' (2024-03-11)
  → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b' (2024-11-13)
• Updated input 'stylix/tinted-tmux':
    'github:tinted-theming/tinted-tmux/c02050bebb60dbb20cb433cd4d8ce668ecc11ba7' (2023-10-08)
  → 'github:tinted-theming/tinted-tmux/f0e7f7974a6441033eb0a172a0342e96722b4f14' (2024-10-21)
2024-11-27 04:20:41 +01:00
247420a189
crime: add lidarr 2024-11-26 15:16:08 +01:00
Update Bot
c2c39502c8
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/47bc8dfb6f48d5f66a3cb3a4cece83d8ace1f61a' (2024-11-24)
  → 'github:nix-community/disko/2ed5e30fc7e34adf455db8b02b9151d3922a54ea' (2024-11-25)
• Updated input 'firefox':
    'git+https://woof.rip/mikael/firefox.git?ref=refs/heads/main&rev=22fff6832b2828006061d5c8f781ca052f55bdb2' (2024-11-24)
  → 'git+https://woof.rip/mikael/firefox.git?ref=refs/heads/main&rev=e4a679e2a725ef216614c5a11543359503f507cc' (2024-11-25)
• Updated input 'firefox/neoidiosyn':
    'git+https://woof.rip/mikael/neoidiosyn.git?ref=refs/heads/main&rev=b7171c109da4f52bf59ad5159ec13ee9246ec28d' (2024-11-24)
  → 'git+https://woof.rip/mikael/neoidiosyn.git?ref=refs/heads/main&rev=6f31daf4bb997f04fcad4425ecfa2451271c7c4f' (2024-11-25)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/53c853fb1a7e4f25f68805ee25c83d5de18dc699' (2024-11-21)
  → 'github:Mic92/sops-nix/3433ea14fbd9e6671d0ff0dd45ed15ee4c156ffa' (2024-11-25)
2024-11-26 04:20:22 +01:00
Update Bot
8b86e66c9d
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/5fd852c4155a689098095406500d0ae3d04654a8' (2024-11-14)
  → 'github:nix-community/disko/47bc8dfb6f48d5f66a3cb3a4cece83d8ace1f61a' (2024-11-24)
• Updated input 'firefox':
    'git+https://woof.rip/mikael/firefox.git?ref=refs/heads/main&rev=022ec0becb1ca7b96ddb9bdd046617075357c2cb' (2024-11-17)
  → 'git+https://woof.rip/mikael/firefox.git?ref=refs/heads/main&rev=22fff6832b2828006061d5c8f781ca052f55bdb2' (2024-11-24)
• Updated input 'firefox/neoidiosyn':
    'git+https://woof.rip/mikael/neoidiosyn.git?ref=refs/heads/main&rev=86605e5489fb5045f4dee48de2a69082e17c033b' (2024-11-17)
  → 'git+https://woof.rip/mikael/neoidiosyn.git?ref=refs/heads/main&rev=b7171c109da4f52bf59ad5159ec13ee9246ec28d' (2024-11-24)
• Updated input 'firefox/neoidiosyn/lix':
    'c859d03013.tar.gz?narHash=sha256-bq21I1EjXJa/s5Rra9J9ot2NkPCnI0F5uNPurwYLdpE%3D&rev=c859d03013712b349d82ee6223948d6d03e63a8d' (2024-11-15)
  → '66f6dbda32.tar.gz?narHash=sha256-H7GN4%2B%2Ba4vE49SUNojZx%2BFSk4mmpb2ifJUtJMJHProI%3D&rev=66f6dbda32959dd5cf3a9aaba15af72d037ab7ff' (2024-11-20)
• Updated input 'firefox/neoidiosyn/lix-module':
    '691193879d.tar.gz?narHash=sha256-RNaIu43b9PoXEhW4OqXUNZKY/jezQyCYWwdv1M0VjsA%3D&rev=691193879d96bdfd1e6ab5ebcca2fadc7604cf34' (2024-11-09)
  → 'aa2846680f.tar.gz?narHash=sha256-n6dPGRlMGdL8X5gviA6ZuRfUdbdD5KiNN/BpABA5YT0%3D&rev=aa2846680fa9a2032939d720487942567fd9eb63' (2024-11-18)
• Updated input 'firefox/neoidiosyn/lix-module/flake-utils':
    'github:numtide/flake-utils/c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a' (2024-09-17)
  → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b' (2024-11-13)
• Updated input 'florp-moderation':
    'git+https://woof.rip/florp/moderation.git?ref=refs/heads/main&rev=32e1061cb2ef3cd0eab0bd99f062a2776a73d459' (2024-11-14)
  → 'git+https://woof.rip/florp/moderation.git?ref=refs/heads/main&rev=81f0a4377c1218d328e7996636a02faf0597efa0' (2024-11-21)
• Updated input 'home-manager':
    'github:nix-community/home-manager/1d0862ee2d7c6f6cd720d6f32213fa425004be10' (2024-11-14)
  → 'github:nix-community/home-manager/a9953635d7f34e7358d5189751110f87e3ac17da' (2024-11-24)
• Updated input 'lix':
    'ad9d06f783.tar.gz?narHash=sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U%3D' (2024-10-19)
  → 'ad9d06f783.tar.gz?narHash=sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U%3D&rev=ad9d06f7838a25beec425ff406fe68721fef73be' (2024-10-19)
• Updated input 'lix-module':
    '9098ac9576.tar.gz?narHash=sha256-6U0CyPycIBc04hbYy2hBINnVso58n/ZyywY2BD3hu%2Bs%3D' (2024-10-19)
  → '9098ac9576.tar.gz?narHash=sha256-6U0CyPycIBc04hbYy2hBINnVso58n/ZyywY2BD3hu%2Bs%3D&rev=9098ac95768f7006d7e070b88bae76939f6034e6' (2024-10-19)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/f6581f1c3b137086e42a08a906bdada63045f991' (2024-11-12)
  → 'github:nixos/nixos-hardware/45348ad6fb8ac0e8415f6e5e96efe47dd7f39405' (2024-11-24)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/dc460ec76cbff0e66e269457d7b728432263166c' (2024-11-11)
  → 'github:nixos/nixpkgs/23e89b7da85c3640bbc2173fe04f4bd114342367' (2024-11-19)
• Updated input 'nixvim':
    'github:nix-community/nixvim/be455f7f2714ce3479ae5bb662a03bd450f45793' (2024-11-15)
  → 'github:nix-community/nixvim/a81a03a3f5dcdcdee5cbe831a9f2e81895e92875' (2024-11-24)
• Updated input 'nixvim/git-hooks':
    'github:cachix/git-hooks.nix/cd1af27aa85026ac759d5d3fccf650abe7e1bbf0' (2024-11-11)
  → 'github:cachix/git-hooks.nix/3308484d1a443fc5bc92012435d79e80458fe43c' (2024-11-19)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/6c71c49e2448e51ad830ed211024e6d0edc50116' (2024-11-12)
  → 'github:lnl7/nix-darwin/698a62c628c2ec423aa770d8ec0e1d0bcf4fca1a' (2024-11-23)
• Updated input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/135d202e032be70c93b6d7d53592ef4799d6efde' (2024-11-11)
  → 'github:NuschtOS/search/fe07070f811b717a4626d01fab714a87d422a9e1' (2024-11-18)
• Updated input 'nixvim/nuschtosSearch/flake-utils':
    'github:numtide/flake-utils/c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a' (2024-09-17)
  → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b' (2024-11-13)
• Updated input 'nixvim/treefmt-nix':
    'github:numtide/treefmt-nix/746901bb8dba96d154b66492a29f5db0693dbfcc' (2024-10-30)
  → 'github:numtide/treefmt-nix/705df92694af7093dfbb27109ce16d828a79155f' (2024-11-22)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/4c91d52db103e757fc25b58998b0576ae702d659' (2024-11-11)
  → 'github:Mic92/sops-nix/53c853fb1a7e4f25f68805ee25c83d5de18dc699' (2024-11-21)
• Removed input 'sops-nix/nixpkgs-stable'
• Updated input 'stylix':
    'github:danth/stylix/5ab1207b2fdeb5a022f2dd7cccf6be760f1b150f' (2024-11-15)
  → 'github:danth/stylix/b667a340730dd3d0596083aa7c949eef01367c62' (2024-11-22)
• Updated input 'stylix/base16':
    'github:SenchoPens/base16.nix/665b3c6748534eb766c777298721cece9453fdae' (2024-02-25)
  → 'github:SenchoPens/base16.nix/153d52373b0fb2d343592871009a286ec8837aec' (2024-11-21)
• Updated input 'stylix/base16/fromYaml':
    'github:SenchoPens/fromYaml/11fbbbfb32e3289d3c631e0134a23854e7865c84' (2023-07-16)
  → 'github:SenchoPens/fromYaml/106af9e2f715e2d828df706c386a685698f3223b' (2024-11-18)
2024-11-25 04:20:32 +01:00
af4e5a7127
hydra: add even more power 2024-11-24 21:14:44 +01:00
8910001198
akkoma: add more emojis 2024-11-20 12:37:49 +01:00
a03fc6bb9c
akkoma: Build ImageMagick with SVT-AV1 encoder 2024-11-20 11:07:52 +01:00
59ef761474
hydra: Add RV64GC ISA support for schrodinger 2024-11-20 11:07:52 +01:00
c0c8f825fc
hydra: Remove Cloud-V RISC-V build worker 2024-11-20 11:07:51 +01:00
73eaf9c154
build-worker-oci: update, add vikas keys 2024-11-20 11:07:51 +01:00
6b0e944765
users: add lucy 2024-11-20 11:07:50 +01:00
3e03107d00
ryuuko: add firefox custom build 2024-11-20 11:07:46 +01:00
320717a71d
crime: change paths 2024-11-17 23:03:52 +01:00
38397e271b
sears: add nil 2024-11-17 17:01:01 +01:00
8444f3e28c
hydra: no oom pls 2024-11-16 17:54:02 +01:00
faafea4739
hydra: add lab.nyantec.com to knownHosts 2024-11-16 12:43:59 +01:00
Update Bot
c6f27fc33a
flake.lock: Update
Flake lock file updates:

• Updated input 'nixvim':
    'github:nix-community/nixvim/24fe0dd2478643fcd4dd57c9570b4614fac80144' (2024-11-14)
  → 'github:nix-community/nixvim/be455f7f2714ce3479ae5bb662a03bd450f45793' (2024-11-15)
• Updated input 'stylix':
    'github:danth/stylix/e0a278871b63b1800ccdda568861b5324dd93797' (2024-11-14)
  → 'github:danth/stylix/5ab1207b2fdeb5a022f2dd7cccf6be760f1b150f' (2024-11-15)
2024-11-16 04:20:20 +01:00
Update Bot
9cbf6f9558
flake.lock: Update
Flake lock file updates:

• Updated input 'florp-moderation':
    'git+https://woof.rip/florp/moderation.git?ref=refs/heads/main&rev=f8765b410ad0496a82cc294c68aec701e6d391be' (2024-11-14)
  → 'git+https://woof.rip/florp/moderation.git?ref=refs/heads/main&rev=32e1061cb2ef3cd0eab0bd99f062a2776a73d459' (2024-11-14)
• Updated input 'home-manager':
    'github:nix-community/home-manager/35b055009afd0107b69c286fca34d2ad98940d57' (2024-11-13)
  → 'github:nix-community/home-manager/1d0862ee2d7c6f6cd720d6f32213fa425004be10' (2024-11-14)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/76612b17c0ce71689921ca12d9ffdc9c23ce40b2' (2024-11-09)
  → 'github:nixos/nixpkgs/dc460ec76cbff0e66e269457d7b728432263166c' (2024-11-11)
• Updated input 'nixvim':
    'github:nix-community/nixvim/f11a877bcc1d66cc8bd7990c704f91c1e99c7d08' (2024-11-13)
  → 'github:nix-community/nixvim/24fe0dd2478643fcd4dd57c9570b4614fac80144' (2024-11-14)
• Updated input 'nixvim/git-hooks':
    'github:cachix/git-hooks.nix/d70155fdc00df4628446352fc58adc640cd705c2' (2024-11-05)
  → 'github:cachix/git-hooks.nix/cd1af27aa85026ac759d5d3fccf650abe7e1bbf0' (2024-11-11)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/5c74ab862c8070cbf6400128a1b56abb213656da' (2024-11-09)
  → 'github:lnl7/nix-darwin/6c71c49e2448e51ad830ed211024e6d0edc50116' (2024-11-12)
• Updated input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/ef493352f9e1f051e01a55c062731503a6b36b4e' (2024-11-08)
  → 'github:NuschtOS/search/135d202e032be70c93b6d7d53592ef4799d6efde' (2024-11-11)
• Updated input 'stylix':
    'github:danth/stylix/be94701ce7b746cb020e667f71492e398ed470f4' (2024-11-13)
  → 'github:danth/stylix/e0a278871b63b1800ccdda568861b5324dd93797' (2024-11-14)
2024-11-15 04:20:43 +01:00
018d5f4cd4
admin-fe: disable unused features 2024-11-14 20:00:19 +01:00
f436f8fcdb
florp: move moderation into its own repo 2024-11-14 19:13:55 +01:00
ff8630ece5
Thank you domi 2024-11-14 11:11:46 +01:00
Update Bot
19d07a5e45
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/486250f404f4a4f4f33f8f669d83ca5f6e6b7dfc' (2024-11-10)
  → 'github:nix-community/disko/5fd852c4155a689098095406500d0ae3d04654a8' (2024-11-14)
• Updated input 'flake-utils':
    'github:numtide/flake-utils/c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a' (2024-09-17)
  → 'github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b' (2024-11-13)
• Updated input 'home-manager':
    'github:nix-community/home-manager/60bb110917844d354f3c18e05450606a435d2d10' (2024-11-10)
  → 'github:nix-community/home-manager/35b055009afd0107b69c286fca34d2ad98940d57' (2024-11-13)
• Updated input 'nixvim':
    'github:nix-community/nixvim/7dc65b2d9873b6bbb6ef90234b3db6546e4ed9af' (2024-11-12)
  → 'github:nix-community/nixvim/f11a877bcc1d66cc8bd7990c704f91c1e99c7d08' (2024-11-13)
• Updated input 'stylix':
    'github:danth/stylix/6863412636c8f2cb3b7360f747fbd020fbfddf68' (2024-11-08)
  → 'github:danth/stylix/be94701ce7b746cb020e667f71492e398ed470f4' (2024-11-13)
2024-11-14 04:20:18 +01:00
8c02b4a16d
crime: add backup 2024-11-13 17:07:46 +01:00
Update Bot
73f1a6c65a
flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/184687ae1a3139faa4746168baf071f60d0310c8' (2024-11-11)
  → 'github:nixos/nixos-hardware/f6581f1c3b137086e42a08a906bdada63045f991' (2024-11-12)
• Updated input 'nixvim':
    'github:nix-community/nixvim/c892aa20732f982d4cc2b3ef2e2276a2a9a4d45b' (2024-11-11)
  → 'github:nix-community/nixvim/7dc65b2d9873b6bbb6ef90234b3db6546e4ed9af' (2024-11-12)
2024-11-13 04:20:20 +01:00
650a206aa4
crime: fix config 2024-11-12 22:10:02 +01:00
Update Bot
dc91b774a4
flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/e1cc1f6483393634aee94514186d21a4871e78d7' (2024-11-06)
  → 'github:nixos/nixos-hardware/184687ae1a3139faa4746168baf071f60d0310c8' (2024-11-11)
• Updated input 'nixvim':
    'github:nix-community/nixvim/57068f532d5d42601fd74e2b531204fe1cd3a8f2' (2024-11-10)
  → 'github:nix-community/nixvim/c892aa20732f982d4cc2b3ef2e2276a2a9a4d45b' (2024-11-11)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/f1675e3b0e1e663a4af49be67ecbc9e749f85eb7' (2024-11-10)
  → 'github:Mic92/sops-nix/4c91d52db103e757fc25b58998b0576ae702d659' (2024-11-11)
2024-11-12 04:20:27 +01:00
Update Bot
b8a24dfc2f
flake.lock: Update
Flake lock file updates:

• Updated input 'attic':
    'github:zhaofengli/attic/48c8b395bfbc6b76c7eae74df6c74351255a095c' (2024-10-30)
  → 'github:zhaofengli/attic/47752427561f1c34debb16728a210d378f0ece36' (2024-11-10)
• Updated input 'disko':
    'github:nix-community/disko/380847d94ff0fedee8b50ee4baddb162c06678df' (2024-11-03)
  → 'github:nix-community/disko/486250f404f4a4f4f33f8f669d83ca5f6e6b7dfc' (2024-11-10)
• Updated input 'florp-about':
    'git+https://woof.rip/florp/about.git?ref=refs/heads/main&rev=1845276697adca236be3e7a983238d2a2d0d57b5' (2024-11-09)
  → 'git+https://woof.rip/florp/about.git?ref=refs/heads/main&rev=2f1130b23576a403b9b1d70d6431649bfa044621' (2024-11-10)
• Updated input 'home-manager':
    'github:nix-community/home-manager/8f6ca7855d409aeebe2a582c6fd6b6a8d0bf5661' (2024-11-03)
  → 'github:nix-community/home-manager/60bb110917844d354f3c18e05450606a435d2d10' (2024-11-10)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/f6e0cd5c47d150c4718199084e5764f968f1b560' (2024-11-02)
  → 'github:nixos/nixos-hardware/e1cc1f6483393634aee94514186d21a4871e78d7' (2024-11-06)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/7ffd9ae656aec493492b44d0ddfb28e79a1ea25d' (2024-11-02)
  → 'github:nixos/nixpkgs/76612b17c0ce71689921ca12d9ffdc9c23ce40b2' (2024-11-09)
• Updated input 'nixvim':
    'github:nix-community/nixvim/6f210158b03b01a1fd44bf3968165e6da80635ce' (2024-11-02)
  → 'github:nix-community/nixvim/57068f532d5d42601fd74e2b531204fe1cd3a8f2' (2024-11-10)
• Updated input 'nixvim/git-hooks':
    'github:cachix/git-hooks.nix/af8a16fe5c264f5e9e18bcee2859b40a656876cf' (2024-10-30)
  → 'github:cachix/git-hooks.nix/d70155fdc00df4628446352fc58adc640cd705c2' (2024-11-05)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/683d0c4cd1102dcccfa3f835565378c7f3cbe05e' (2024-11-01)
  → 'github:lnl7/nix-darwin/5c74ab862c8070cbf6400128a1b56abb213656da' (2024-11-09)
• Updated input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/9e22bd742480916ff5d0ab20ca2522eaa3fa061e' (2024-11-02)
  → 'github:NuschtOS/search/ef493352f9e1f051e01a55c062731503a6b36b4e' (2024-11-08)
• Updated input 'nixvim/nuschtosSearch/ixx':
    'github:NuschtOS/ixx/65c207c92befec93e22086da9456d3906a4e999c' (2024-10-21)
  → 'github:NuschtOS/ixx/9fd01aad037f345350eab2cd45e1946cc66da4eb' (2024-10-26)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/e9b5eef9b51cdf966c76143e13a9476725b2f760' (2024-11-03)
  → 'github:Mic92/sops-nix/f1675e3b0e1e663a4af49be67ecbc9e749f85eb7' (2024-11-10)
• Updated input 'stylix':
    'github:danth/stylix/04afcfc0684d9bbb24bb1dc77afda7c1843ec93b' (2024-10-26)
  → 'github:danth/stylix/6863412636c8f2cb3b7360f747fbd020fbfddf68' (2024-11-08)
• Updated input 'stylix/tinted-foot':
    'github:tinted-theming/tinted-foot/eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce' (2023-10-08)
  → 'github:tinted-theming/tinted-foot/fd1b924b6c45c3e4465e8a849e67ea82933fcbe4' (2024-09-21)
2024-11-11 13:06:18 +01:00
30665c65aa
update-nixfiles: fix eval check 2024-11-11 13:06:18 +01:00
6eb2393d7e
flake.lock: Update
Flake lock file updates:

• Updated input 'florp-about':
    'git+https://woof.rip/florp/about.git?ref=refs/heads/main&rev=1d3098ad7775426c092a5bd13498d98a8b02b116' (2024-11-09)
  → 'git+https://woof.rip/florp/about.git?ref=refs/heads/main&rev=1845276697adca236be3e7a983238d2a2d0d57b5' (2024-11-09)
2024-11-11 13:06:17 +01:00
4c2f141db5
akkoma: Create backups from database dump 2024-11-11 13:06:13 +01:00
29b7574b86
akkoma: Limit banner image width 2024-11-09 22:59:36 +01:00
24819a7f56
restic: add timer option 2024-11-09 22:59:32 +01:00
695892638a flake.lock: Update
Flake lock file updates:

• Updated input 'florp-about':
    'git+https://woof.rip/florp/about.git?ref=refs/heads/main&rev=35e71f8654bc7df450f24003353fccf45ceb5678' (2024-11-09)
  → 'git+https://woof.rip/florp/about.git?ref=refs/heads/main&rev=1d3098ad7775426c092a5bd13498d98a8b02b116' (2024-11-09)
2024-11-09 21:54:04 +01:00
d1091ec8ba
Adjust and amend defederation reason wording 2024-11-09 21:43:27 +01:00
d6328117b8
florp: add about page 2024-11-09 21:05:27 +01:00
2ca15ddaad
restic,florp: add backup 2024-11-09 17:40:43 +01:00
2388e80dd9
florp.social: add dedicated host 2024-11-08 13:51:19 +01:00
992b4796ad
nginx: enable http3 2024-11-04 20:30:18 +01:00
Update Bot
03c32f38d0
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/3979285062d6781525cded0f6c4ff92e71376b55' (2024-10-29)
  → 'github:nix-community/disko/380847d94ff0fedee8b50ee4baddb162c06678df' (2024-11-03)
• Updated input 'home-manager':
    'github:nix-community/home-manager/1743615b61c7285976f85b303a36cdf88a556503' (2024-11-01)
  → 'github:nix-community/home-manager/8f6ca7855d409aeebe2a582c6fd6b6a8d0bf5661' (2024-11-03)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/807e9154dcb16384b1b765ebe9cd2bba2ac287fd' (2024-10-29)
  → 'github:nixos/nixpkgs/7ffd9ae656aec493492b44d0ddfb28e79a1ea25d' (2024-11-02)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/1666d16426abe79af5c47b7c0efa82fd31bf4c56' (2024-10-27)
  → 'github:Mic92/sops-nix/e9b5eef9b51cdf966c76143e13a9476725b2f760' (2024-11-03)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/cd3e8833d70618c4eea8df06f95b364b016d4950' (2024-10-26)
  → 'github:NixOS/nixpkgs/3c2f1c4ca372622cb2f9de8016c9a0b1cbd0f37c' (2024-11-03)
2024-11-04 04:20:36 +01:00
a3d92ecedd
hydra: add riscv64 build worker 2024-11-03 14:31:55 +01:00
Update Bot
87ac22ac91
flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/da14839ac5f38ee6adbdb4e6db09b5eef6d6ccdc' (2024-10-31)
  → 'github:nixos/nixos-hardware/f6e0cd5c47d150c4718199084e5764f968f1b560' (2024-11-02)
• Updated input 'nixvim':
    'github:nix-community/nixvim/356896f58dde22ee16481b7c954e340dceec340d' (2024-11-01)
  → 'github:nix-community/nixvim/6f210158b03b01a1fd44bf3968165e6da80635ce' (2024-11-02)
• Updated input 'nixvim/flake-parts':
    'github:hercules-ci/flake-parts/3d04084d54bedc3d6b8b736c70ef449225c361b1' (2024-10-01)
  → 'github:hercules-ci/flake-parts/506278e768c2a08bec68eb62932193e341f55c90' (2024-11-01)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/b379bd4d872d159e5189053ce9a4adf86d56db4b' (2024-10-29)
  → 'github:lnl7/nix-darwin/683d0c4cd1102dcccfa3f835565378c7f3cbe05e' (2024-11-01)
• Updated input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/4e0a7a95a3df3333771abc4df6a656e7baf67106' (2024-10-31)
  → 'github:NuschtOS/search/9e22bd742480916ff5d0ab20ca2522eaa3fa061e' (2024-11-02)
2024-11-03 04:20:11 +01:00
06bd495dd9
akkoma: various stuff 2024-11-02 17:16:48 +01:00
Update Bot
0ba6f7874b
flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/e83414058edd339148dc142a8437edb9450574c8' (2024-10-27)
  → 'github:nix-community/home-manager/1743615b61c7285976f85b303a36cdf88a556503' (2024-11-01)
• Updated input 'nixvim':
    'github:nix-community/nixvim/42ea1626cb002fa759a6b1e2841bfc80a4e59615' (2024-10-31)
  → 'github:nix-community/nixvim/356896f58dde22ee16481b7c954e340dceec340d' (2024-11-01)
2024-11-02 04:20:15 +01:00
e5004ed8fd
akkoma: add branding 2024-11-01 20:15:25 +01:00
Update Bot
81842a1f3e
flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/07d15e8990d5d86a631641b4c429bc0a7400cfb8' (2024-10-29)
  → 'github:nixos/nixos-hardware/da14839ac5f38ee6adbdb4e6db09b5eef6d6ccdc' (2024-10-31)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/18536bf04cd71abd345f9579158841376fdd0c5a' (2024-10-25)
  → 'github:nixos/nixpkgs/807e9154dcb16384b1b765ebe9cd2bba2ac287fd' (2024-10-29)
• Updated input 'nixvim':
    'github:nix-community/nixvim/7d882356a486cf44b7fab842ac26885ecd985af3' (2024-10-29)
  → 'github:nix-community/nixvim/42ea1626cb002fa759a6b1e2841bfc80a4e59615' (2024-10-31)
• Updated input 'nixvim/git-hooks':
    'github:cachix/git-hooks.nix/3c3e88f0f544d6bb54329832616af7eb971b6be6' (2024-10-16)
  → 'github:cachix/git-hooks.nix/af8a16fe5c264f5e9e18bcee2859b40a656876cf' (2024-10-30)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/2eb472230a5400c81d9008014888b4bff23bcf44' (2024-10-26)
  → 'github:lnl7/nix-darwin/b379bd4d872d159e5189053ce9a4adf86d56db4b' (2024-10-29)
• Updated input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/e373332c1f8237fc1263901745b0fe747228c8ba' (2024-10-27)
  → 'github:NuschtOS/search/4e0a7a95a3df3333771abc4df6a656e7baf67106' (2024-10-31)
• Updated input 'nixvim/treefmt-nix':
    'github:numtide/treefmt-nix/bae131e525cc8718da22fbeb8d8c7c43c4ea502a' (2024-10-27)
  → 'github:numtide/treefmt-nix/746901bb8dba96d154b66492a29f5db0693dbfcc' (2024-10-30)
2024-11-01 04:20:44 +01:00
e6de0b8257
akkoma: add initial config 2024-10-31 23:41:54 +01:00
Update Bot
9f9f6d7b76
flake.lock: Update
Flake lock file updates:

• Updated input 'attic':
    'github:zhaofengli/attic/0fe1b1cd34e929871651db24326d9d45c80d1013' (2024-10-28)
  → 'github:zhaofengli/attic/48c8b395bfbc6b76c7eae74df6c74351255a095c' (2024-10-30)
• Updated input 'disko':
    'github:nix-community/disko/0e55423bf8c241cf18676a8b8424c7eadd170ffc' (2024-10-28)
  → 'github:nix-community/disko/3979285062d6781525cded0f6c4ff92e71376b55' (2024-10-29)
• Updated input 'nixvim':
    'github:nix-community/nixvim/a4c3ad01cd0755dd1e93473d74efdd89a1cf5999' (2024-10-28)
  → 'github:nix-community/nixvim/7d882356a486cf44b7fab842ac26885ecd985af3' (2024-10-29)
2024-10-30 04:20:19 +01:00
Update Bot
840b178b59
flake.lock: Update
Flake lock file updates:

• Updated input 'attic':
    'github:zhaofengli/attic/2b05b7d986cf6009b1c1ef7daa4961cd1a658782' (2024-10-16)
  → 'github:zhaofengli/attic/0fe1b1cd34e929871651db24326d9d45c80d1013' (2024-10-28)
• Added input 'attic/nix-github-actions':
    'github:nix-community/nix-github-actions/e04df33f62cdcf93d73e9a04142464753a16db67' (2024-10-24)
• Added input 'attic/nix-github-actions/nixpkgs':
    follows 'attic/nixpkgs'
• Updated input 'disko':
    'github:nix-community/disko/89e458a3bb3693e769bfb2b2447c3fe72092d498' (2024-10-27)
  → 'github:nix-community/disko/0e55423bf8c241cf18676a8b8424c7eadd170ffc' (2024-10-28)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/6906ac67a1078cf950b8527341e229eeecb5bc30' (2024-10-27)
  → 'github:nixos/nixos-hardware/07d15e8990d5d86a631641b4c429bc0a7400cfb8' (2024-10-29)
• Updated input 'nixvim':
    'github:nix-community/nixvim/a20fbbc4b9665ec215e7bea061a1d64f6fd652ce' (2024-10-27)
  → 'github:nix-community/nixvim/a4c3ad01cd0755dd1e93473d74efdd89a1cf5999' (2024-10-28)
2024-10-29 04:20:12 +01:00
Update Bot
82022ac8b9
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/58cd832497f9c87cb4889744b86aba4284fd0474' (2024-10-26)
  → 'github:nix-community/disko/89e458a3bb3693e769bfb2b2447c3fe72092d498' (2024-10-27)
• Updated input 'home-manager':
    'github:nix-community/home-manager/93435d27d250fa986bfec6b2ff263161ff8288cb' (2024-10-25)
  → 'github:nix-community/home-manager/e83414058edd339148dc142a8437edb9450574c8' (2024-10-27)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/e8a2f6d5513fe7b7d15701b2d05404ffdc3b6dda' (2024-10-24)
  → 'github:nixos/nixos-hardware/6906ac67a1078cf950b8527341e229eeecb5bc30' (2024-10-27)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/2768c7d042a37de65bb1b5b3268fc987e534c49d' (2024-10-23)
  → 'github:nixos/nixpkgs/18536bf04cd71abd345f9579158841376fdd0c5a' (2024-10-25)
• Updated input 'nixvim':
    'github:nix-community/nixvim/bb0e3892a27efdc6f9c1771927f513577cb1c671' (2024-10-26)
  → 'github:nix-community/nixvim/a20fbbc4b9665ec215e7bea061a1d64f6fd652ce' (2024-10-27)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/7840909b00fbd5a183008a6eb251ea307fe4a76e' (2024-10-25)
  → 'github:lnl7/nix-darwin/2eb472230a5400c81d9008014888b4bff23bcf44' (2024-10-26)
• Updated input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/b35c0b1cbbcc42161c07c77419c2801d461f1401' (2024-10-24)
  → 'github:NuschtOS/search/e373332c1f8237fc1263901745b0fe747228c8ba' (2024-10-27)
• Updated input 'nixvim/treefmt-nix':
    'github:numtide/treefmt-nix/aac86347fb5063960eccb19493e0cadcdb4205ca' (2024-10-22)
  → 'github:numtide/treefmt-nix/bae131e525cc8718da22fbeb8d8c7c43c4ea502a' (2024-10-27)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/b2211d1a537136cc1d0d5c0af391e8712016b34e' (2024-10-26)
  → 'github:Mic92/sops-nix/1666d16426abe79af5c47b7c0efa82fd31bf4c56' (2024-10-27)
• Updated input 'sops-nix/nixpkgs-stable':
    'github:NixOS/nixpkgs/bb8c2cf7ea0dd2e18a52746b2c3a5b0c73b93c22' (2024-10-19)
  → 'github:NixOS/nixpkgs/cd3e8833d70618c4eea8df06f95b364b016d4950' (2024-10-26)
2024-10-28 04:20:42 +01:00
Update Bot
e66731bd82
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/09a776702b004fdf9c41a024e1299d575ee18a7d' (2024-10-23)
  → 'github:nix-community/disko/58cd832497f9c87cb4889744b86aba4284fd0474' (2024-10-26)
• Updated input 'nixvim':
    'github:nix-community/nixvim/4726334e4413ff55f1db3768c8d08722abbf09cf' (2024-10-24)
  → 'github:nix-community/nixvim/bb0e3892a27efdc6f9c1771927f513577cb1c671' (2024-10-26)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/04193f188e4144d7047f83ad1de81d6034d175cd' (2024-10-24)
  → 'github:lnl7/nix-darwin/7840909b00fbd5a183008a6eb251ea307fe4a76e' (2024-10-25)
• Updated input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/bedc2f2ada220815a98a896e10f5e61bfc329bfc' (2024-10-24)
  → 'github:NuschtOS/search/b35c0b1cbbcc42161c07c77419c2801d461f1401' (2024-10-24)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/78a0e634fc8981d6b564f08b6715c69a755c4c7d' (2024-10-24)
  → 'github:Mic92/sops-nix/b2211d1a537136cc1d0d5c0af391e8712016b34e' (2024-10-26)
• Updated input 'stylix':
    'github:danth/stylix/fb9399b7e2c855f42dae76a363bab28d4f24aa8d' (2024-10-19)
  → 'github:danth/stylix/04afcfc0684d9bbb24bb1dc77afda7c1843ec93b' (2024-10-26)
2024-10-27 04:20:19 +01:00
Update Bot
be5d1f2958
flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/a4353cc43d1b4dd6bdeacea90eb92a8b7b78a9d7' (2024-10-23)
  → 'github:nix-community/home-manager/93435d27d250fa986bfec6b2ff263161ff8288cb' (2024-10-25)
2024-10-26 04:20:15 +02:00
Update Bot
391c1adf40
flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/5ec753a1fc4454df9285d8b3ec0809234defb975' (2024-10-21)
  → 'github:nix-community/home-manager/a4353cc43d1b4dd6bdeacea90eb92a8b7b78a9d7' (2024-10-23)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/64d900abe40057393148bc0283d35c2254dd4f57' (2024-10-23)
  → 'github:nixos/nixos-hardware/e8a2f6d5513fe7b7d15701b2d05404ffdc3b6dda' (2024-10-24)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/1997e4aa514312c1af7e2bda7fad1644e778ff26' (2024-10-20)
  → 'github:nixos/nixpkgs/2768c7d042a37de65bb1b5b3268fc987e534c49d' (2024-10-23)
• Updated input 'nixvim':
    'github:nix-community/nixvim/029eafd70d6e28919a9ec01a94a46b51c4ccff40' (2024-10-23)
  → 'github:nix-community/nixvim/4726334e4413ff55f1db3768c8d08722abbf09cf' (2024-10-24)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/a60ac02f9466f85f092e576fd8364dfc4406b5a6' (2024-10-14)
  → 'github:lnl7/nix-darwin/04193f188e4144d7047f83ad1de81d6034d175cd' (2024-10-24)
• Updated input 'nixvim/nuschtosSearch':
    'github:NuschtOS/search/f82d3e1c1c9d1eaeb91878519e2d27b27c66ce84' (2024-10-14)
  → 'github:NuschtOS/search/bedc2f2ada220815a98a896e10f5e61bfc329bfc' (2024-10-24)
• Added input 'nixvim/nuschtosSearch/ixx':
    'github:NuschtOS/ixx/65c207c92befec93e22086da9456d3906a4e999c' (2024-10-21)
• Added input 'nixvim/nuschtosSearch/ixx/flake-utils':
    follows 'nixvim/nuschtosSearch/flake-utils'
• Added input 'nixvim/nuschtosSearch/ixx/nixpkgs':
    follows 'nixvim/nuschtosSearch/nixpkgs'
• Updated input 'nixvim/treefmt-nix':
    'github:numtide/treefmt-nix/d986489c1c757f6921a48c1439f19bfb9b8ecab5' (2024-10-18)
  → 'github:numtide/treefmt-nix/aac86347fb5063960eccb19493e0cadcdb4205ca' (2024-10-22)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/d089e742fb79259b9c4dd9f18e9de1dd4fa3c1ec' (2024-10-23)
  → 'github:Mic92/sops-nix/78a0e634fc8981d6b564f08b6715c69a755c4c7d' (2024-10-24)
2024-10-25 04:20:36 +02:00
1dd90e2037
forgejo: update to latest 2024-10-24 20:46:03 +02:00
90692c9bc1
hydra: increase gc time 2024-10-24 15:37:46 +02:00
Update Bot
ba4345c402
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/4be2aadf13b67ffbb993deb73adff77c46b728fc' (2024-10-22)
  → 'github:nix-community/disko/09a776702b004fdf9c41a024e1299d575ee18a7d' (2024-10-23)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/22e8de2729f40d29a445c8baeaf22740b8b25daf' (2024-10-22)
  → 'github:nixos/nixos-hardware/64d900abe40057393148bc0283d35c2254dd4f57' (2024-10-23)
• Updated input 'nixvim':
    'github:nix-community/nixvim/b076f006c6b0cc6644a651bd21d4449cc3e7e56d' (2024-10-22)
  → 'github:nix-community/nixvim/029eafd70d6e28919a9ec01a94a46b51c4ccff40' (2024-10-23)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/26642e8f193f547e72d38cd4c0c4e45b49236d27' (2024-10-22)
  → 'github:Mic92/sops-nix/d089e742fb79259b9c4dd9f18e9de1dd4fa3c1ec' (2024-10-23)
2024-10-24 04:20:20 +02:00
e76c317759
seras: add riscv builder and zram 2024-10-23 22:08:01 +02:00
Update Bot
1e9b66957b
flake.lock: Update
Flake lock file updates:

• Updated input 'disko':
    'github:nix-community/disko/a6a3179ddf396dfc28a078e2f169354d0c137125' (2024-10-18)
  → 'github:nix-community/disko/4be2aadf13b67ffbb993deb73adff77c46b728fc' (2024-10-22)
• Updated input 'nixos-hardware':
    'github:nixos/nixos-hardware/cc2d3c0e060f981905d52337340ee6ec8b8eb037' (2024-10-21)
  → 'github:nixos/nixos-hardware/22e8de2729f40d29a445c8baeaf22740b8b25daf' (2024-10-22)
• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0' (2024-10-18)
  → 'github:nixos/nixpkgs/1997e4aa514312c1af7e2bda7fad1644e778ff26' (2024-10-20)
• Updated input 'nixvim':
    'github:nix-community/nixvim/0562e519ec0e69125c5edc917d41bccb54a534fd' (2024-10-21)
  → 'github:nix-community/nixvim/b076f006c6b0cc6644a651bd21d4449cc3e7e56d' (2024-10-22)
• Updated input 'sops-nix':
    'github:Mic92/sops-nix/c504fd7ac946d7a1b17944d73b261ca0a0b226a5' (2024-10-20)
  → 'github:Mic92/sops-nix/26642e8f193f547e72d38cd4c0c4e45b49236d27' (2024-10-22)
2024-10-23 04:20:47 +02:00
4ea602f398
lix: enable-gc 2024-10-22 18:26:10 +02:00
47 changed files with 2353 additions and 370 deletions

View file

@ -3,6 +3,8 @@ keys:
- &seras age1ht2wetcyl9rzu45e02pqqwgmyfsfe6y6ygxyuxpfhnkdm62d3pqsg3uqvd - &seras age1ht2wetcyl9rzu45e02pqqwgmyfsfe6y6ygxyuxpfhnkdm62d3pqsg3uqvd
- &emilia age1pjn7q6qs49jenr40dhsxa8x5g4z6elsh0pk0tc5pxg6pl0nzgc6scakynn - &emilia age1pjn7q6qs49jenr40dhsxa8x5g4z6elsh0pk0tc5pxg6pl0nzgc6scakynn
- &girldick age1r6cmthdk6lhy62wa4pu23l46f5fcqhuu7xrq353pe6c8f0s6ce8s67pdtf - &girldick age1r6cmthdk6lhy62wa4pu23l46f5fcqhuu7xrq353pe6c8f0s6ce8s67pdtf
- &florp age18vc8rcmczlt3r0ee7jr9s8l3yrkthu8wtypt08eh0eskpkw3dg6qxs7t3t
- &crime age1sky8kccyyxe79ws4rew42r94427v2xnphq2vtxvdlw5xl7yzgs2q599yzs
creation_rules: creation_rules:
- path_regex: secrets/services/dns-knot.yaml - path_regex: secrets/services/dns-knot.yaml
key_groups: key_groups:
@ -46,3 +48,27 @@ creation_rules:
- *emily - *emily
age: age:
- *girldick - *girldick
- path_regex: secrets/hosts/seras.yaml
key_groups:
- pgp:
- *emily
age:
- *seras
- path_regex: secrets/services/akkoma.yaml
key_groups:
- pgp:
- *emily
age:
- *florp
- path_regex: secrets/restic/zh3485s1.yaml
key_groups:
- pgp:
- *emily
age:
- *florp
- path_regex: secrets/restic/zh3485s2.yaml
key_groups:
- pgp:
- *emily
age:
- *crime

View file

@ -1,11 +1,11 @@
{ config, inputs, lib, pkgs, ... }: { config, inputs, lib, pkgs, ... }: let
inherit (lib) mkDefault;
with lib; { in {
imports = [ imports = [
./kernel.nix ./kernel.nix
./networking.nix ./networking.nix
./openssh.nix ./openssh.nix
./users ./users.nix
../../modules ../../modules
inputs.lix-module.nixosModules.default inputs.lix-module.nixosModules.default
]; ];
@ -23,6 +23,7 @@ with lib; {
man-pages-posix man-pages-posix
unzip unzip
zip zip
fd
figlet figlet
]; ];
programs = { programs = {
@ -54,6 +55,7 @@ with lib; {
''; '';
users.motdFile = "/var/lib/deployment/motd"; users.motdFile = "/var/lib/deployment/motd";
nix.package = pkgs.lix.override { enableGC = true; };
nix.gc.automatic = true; nix.gc.automatic = true;
nix.gc.options = "--delete-older-than 7d"; nix.gc.options = "--delete-older-than 7d";
nix.optimise.automatic = true; nix.optimise.automatic = true;
@ -104,6 +106,6 @@ with lib; {
services.fprintd.enable = config.kyouma.machine-type.graphical; services.fprintd.enable = config.kyouma.machine-type.graphical;
system.stateVersion = "23.11"; system.stateVersion = mkDefault "23.11";
time.timeZone = mkDefault "CET"; time.timeZone = mkDefault "CET";
} }

View file

@ -39,7 +39,7 @@ in {
]; ];
settings = { settings = {
PermitRootLogin = "prohibit-password"; PermitRootLogin = "no";
PasswordAuthentication = false; PasswordAuthentication = false;
KbdInteractiveAuthentication = false; KbdInteractiveAuthentication = false;

View file

@ -1,5 +1,5 @@
{ ... }: { { ... }: {
imports = [ imports = [
./emily ../users/emily
]; ];
} }

View file

@ -1,31 +1,31 @@
{ ... }: { { inputs, ... }: {
imports = [ imports = [
../../common ../../common
../../users/lucy
../../profiles/headless.nix ../../profiles/headless.nix
../../profiles/kartoffel.nix ../../profiles/kartoffel.nix
../../profiles/lxc.nix ../../profiles/lxc.nix
../../services/arrs
../../services/jellyfin.nix
../../services/nginx.nix ../../services/nginx.nix
./nginx.nix inputs.oth.nixosModules.default
]; ];
networking = { networking.hostName = "crime";
hostName = "crime";
firewall.allowedTCPPorts = [ 80 443 ];
firewall.allowedUDPPorts = [ 443 ];
};
systemd.network.networks."98-eth-default" = { systemd.network.networks."98-eth-default" = {
address = [ address = [
"2a0f:be01:0:100::1337/128" "2a0f:be01:0:100::b00b:a/128"
"2a0f:be01:0:100::1338/128"
]; ];
}; };
kyouma.nginx.defaultForbidden = "fentanyl.trade";
security.acme.certs = { kyouma.restic = {
"fentanyl.trade" = { extraDomainNames = [ "frotti.ng" "watch.kyouma.net" ]; }; enable = true;
"crime.kyouma.net" = {}; remoteUser = "zh3485s2";
paths = [
"/var/lib/jellyfin"
"/var/lib/radarr"
"/var/lib/sonarr"
"/var/lib/private/prowlarr"
"/home"
];
}; };
services.jellyfin.enable = true;
services.sonarr.enable = true;
services.radarr.enable = true;
services.prowlarr.enable = true;
} }

View file

@ -1,114 +0,0 @@
{ pkgs, ... }:
let
landingPage = pkgs.writeTextDir "index.html" ''
<!DOCTYPE html>
<html>
<head>
<title>crime.kyouma.net</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to crime.kyouma.net!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>Sonarr
<a href="https://crime.kyouma.net/sonarr">crime.kyouma.net/sonarr</a><br/>
Radarr
<a href="https://crime.kyouma.net/radarr">crime.kyouma.net/radarr</a><br/>
Prowlarr
<a href="https://crime.kyouma.net/prowlarr">crime.kyouma.net/prowlarr</a></p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
'';
extraConfig = ''
add_header Strict-Transport-Security $hsts_header;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "same-origin" always;
'';
proxyConfig = ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host $http_host;
'';
jellyAddr = "[::1]";
jellyWeb = {
forceSSL = true;
#http3 = true;
#quic = true;
inherit extraConfig;
locations = {
"= /".return = "302 https://$host/web/";
"/" = {
proxyPass = "http://${jellyAddr}:8096";
extraConfig = ''
${proxyConfig}
proxy_buffering on;
'';
};
"= /web/" = {
proxyPass = "http://${jellyAddr}:8096/web/index.html";
extraConfig = proxyConfig;
};
"/socket" = {
proxyPass = "http://${jellyAddr}:8096";
proxyWebsockets = true;
extraConfig = proxyConfig;
};
};
};
in {
services.nginx = {
virtualHosts = {
"fentanyl.trade" = jellyWeb // {
enableACME = true;
};
"frotti.ng" = jellyWeb // {
useACMEHost = "fentanyl.trade";
};
};
};
kyouma.nginx.virtualHosts = {
"watch.kyouma.net" = { redirectTo = "fentanyl.trade"; };
"redirect" = {
default = true;
reuseport = true;
useACMEHost = "fentanyl.trade";
extraConfig = ''
return 403;
'';
};
"crime.kyouma.net" = {
listenAddresses = [ "[2a0f:be01:0:100::1338]" ];
locations = {
"/".root = landingPage;
"/sonarr/" = {
proxyPass = "http://127.0.0.1:8989";
recommendedProxySettings = true;
};
"/radarr/" = {
proxyPass = "http://127.0.0.1:7878";
recommendedProxySettings = true;
};
"/prowlarr/" = {
proxyPass = "http://127.0.0.1:9696";
recommendedProxySettings = true;
};
};
};
};
}

View file

@ -17,10 +17,8 @@
kyouma.machine-type.physical = true; kyouma.machine-type.physical = true;
kyouma.nginx.defaultForbidden = "uptime.kyouma.net"; kyouma.nginx.defaultForbidden = "uptime.kyouma.net";
networking = { networking.hostName = "emilia";
firewall.allowedTCPPorts = [ 80 443 ];
hostName = "emilia";
};
systemd.network.networks."98-eth-default" = { systemd.network.networks."98-eth-default" = {
matchConfig.MACAddress = "04:d4:c4:39:73:f6"; matchConfig.MACAddress = "04:d4:c4:39:73:f6";
addresses = [ addresses = [

View file

@ -0,0 +1,68 @@
{ lib, config, pkgs, ... }: {
imports = [
../../common
../../profiles/headless.nix
../../profiles/kartoffel.nix
../../profiles/lxc.nix
../../services/akkoma
../../services/nginx.nix
];
networking = {
hostName = "florp";
domain = lib.mkForce "social";
};
systemd.network.networks."98-eth-default" = {
address = [
"2a0f:be01:0:100::171/128"
];
};
kyouma.nginx.defaultForbidden = "florp.social";
kyouma.restic = let
pgBackup = "/var/cache/postgresql.sql";
in {
enable = true;
remoteUser = "zh3485s1";
timerConfig = {
OnCalendar = "hourly";
Persistent = true;
};
paths = [
"/var/lib/akkoma"
"/var/lib/secrets"
pgBackup
];
backupPrepareCommand = ''
umask 0077
rm -f -- ${pgBackup}
${pkgs.su}/bin/su -c '${lib.getExe' config.services.postgresql.package "pg_dumpall"}' \
${config.services.postgresql.superUser} >${pgBackup}
'';
backupCleanupCommand = ''
rm -f -- ${pgBackup}
'';
};
services.postgresql.settings = {
max_connections = 128;
shared_buffers = "4GB";
effective_cache_size = "12GB";
maintenance_work_mem = "1GB";
checkpoint_completion_target = 0.9;
wal_buffers = "16MB";
default_statistics_target = 100;
random_page_cost = 1.1;
effective_io_concurrency = 200;
work_mem = "34952kB";
huge_pages = "try";
min_wal_size = "2GB";
max_wal_size = "8GB";
max_worker_processes = 16;
max_parallel_workers_per_gather = 4;
max_parallel_workers = 16;
max_parallel_maintenance_workers = 4;
};
system.stateVersion = "24.11";
}

View file

@ -11,7 +11,6 @@
domain = lib.mkForce "girldick.gay"; domain = lib.mkForce "girldick.gay";
hostName = "staging"; hostName = "staging";
nftables.enable = lib.mkForce false; nftables.enable = lib.mkForce false;
firewall.allowedTCPPorts = [ 80 443 ];
}; };
systemd.network.networks."98-eth-default" = { systemd.network.networks."98-eth-default" = {
address = [ address = [

View file

@ -1,5 +1,6 @@
{ lib, inputs, ... }: { { lib, inputs, ... }: {
imports = [ imports = [
inputs.sops-nix.nixosModules.sops
"${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" "${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix"
./configuration.nix ./configuration.nix
]; ];

View file

@ -1,6 +1,7 @@
{ ... }: { { pkgs, ... }: {
imports = [ imports = [
../../common ../../common
../../users/nil
../../profiles/builder.nix ../../profiles/builder.nix
../../profiles/headless.nix ../../profiles/headless.nix
../../profiles/kartoffel.nix ../../profiles/kartoffel.nix
@ -9,12 +10,13 @@
../../services/hydra ../../services/hydra
../../services/update-nixfiles.nix ../../services/update-nixfiles.nix
]; ];
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
networking = { boot.binfmt = {
hostName = "seras"; preferStaticEmulators = true;
firewall.allowedTCPPorts = [ 80 443 ]; emulatedSystems = [ "aarch64-linux" "riscv64-linux" ];
}; };
networking.hostName = "seras";
systemd.network.networks."98-eth-default" = { systemd.network.networks."98-eth-default" = {
address = [ address = [
"2a0f:be01:0:100::169/128" "2a0f:be01:0:100::169/128"

View file

@ -11,8 +11,7 @@
networking = { networking = {
hostName = "web-dus"; hostName = "web-dus";
nftables.enable = lib.mkForce false; nftables.enable = lib.mkForce false;
firewall.allowedTCPPorts = [ 80 443 11019 ]; firewall.allowedTCPPorts = [ 11019 ];
firewall.allowedUDPPorts = [ 443 ];
}; };
systemd.network.networks."98-eth-default" = { systemd.network.networks."98-eth-default" = {
address = [ address = [

View file

@ -7,7 +7,7 @@
nix.extraOptions = '' nix.extraOptions = ''
min-free = ${builtins.toString (16384 * 1024 * 1024)} min-free = ${builtins.toString (16384 * 1024 * 1024)}
max-free = ${builtins.toString (32768 * 1024 * 1024)} max-free = ${builtins.toString (32768 * 1024 * 1024)}
max-substitution-jobs = 20 max-substitution-jobs = 30
max-silent-time = 14400 max-silent-time = 14400
''; '';
nix.sshServe = { nix.sshServe = {

View file

@ -9,10 +9,6 @@
options snd_bcm2835 enable_headphones=1 options snd_bcm2835 enable_headphones=1
''; '';
kernelParams = [ "snd_bcm2835.enable_hdmi=1" ]; kernelParams = [ "snd_bcm2835.enable_hdmi=1" ];
loader.raspberryPi.firmwareConfig = ''
dtparam=audio=on
dtparam=krnbt=on
'';
}; };
console.enable = false; console.enable = false;

View file

@ -0,0 +1,342 @@
{ config, inputs, lib, pkgs, ... }: {
imports = [
inputs.florp-moderation.nixosModules.default
# Moderated instances. See https://woof.rip/florp/moderation for more information.
inputs.florp-moderation.nixosModules.florp
];
sops.secrets."services/akkoma/mailerPassword" = {
sopsFile = ../../../secrets/services/akkoma.yaml;
};
sops.secrets."services/akkoma/deepl" = {
sopsFile = ../../../secrets/services/akkoma.yaml;
};
services.akkoma = {
enable = true;
extraPackages = let
imagemagick = pkgs.imagemagick.override {
libheif = pkgs.libheif.overrideAttrs (prevAttrs: {
buildInputs = prevAttrs.buildInputs or [ ] ++ [ pkgs.svt-av1 ];
cmakeFlags = prevAttrs.cmakeFlags or [ ] ++ [ "-DWITH_SvtEnc=ON" ];
});
};
in with pkgs; [ exiftool ffmpeg-headless imagemagick ];
extraStatic = let
actualFetchzip =
{
url,
hash
}: pkgs.runCommandNoCC "${lib.last (lib.splitString "/" url)}" {
src = pkgs.fetchurl {
inherit url hash;
};
} ''
${lib.getExe pkgs.unzip} $src -d $out
for f in $out/*_256.png; do
mv -- "$f" "''${f/_256}"
done
'';
in {
"emoji/blobs.gg" = pkgs.akkoma-emoji.blobs_gg;
"emoji/custom" = pkgs.runCommandNoCC "florp" {
src = inputs.florp-branding.packages.${config.nixpkgs.hostPlatform.system}.favicon;
} ''
mkdir $out
cp $src $out/florp.png
'';
"emoji/neodog" = actualFetchzip {
url = "https://git.gay/moonrabbits/neodog/raw/commit/6f9eb283b6dcbe507fde1110abab267cb2d73b70/neodog.zip";
hash = "sha256-ISyzpRyjHf+4jKrOtHHqH0Qn7CQu5RQSLH/HL/YSdT4=";
};
"emoji/neocat" = actualFetchzip {
url = "https://volpeon.ink/emojis/neocat/neocat.zip";
hash = "sha256-DZDuk0Djlax504flNWdpqAw+ROLOOVGj0ZvJLyouo7A=";
};
"emoji/neofox" = actualFetchzip {
url = "https://volpeon.ink/emojis/neofox/neofox.zip";
hash = "sha256-rZUPA7ZvrO8q/lx8XK3IxJ1URLgq0PSh752eWzG+uos=";
};
"emoji/blobhaj" = actualFetchzip {
url = "https://web.archive.org/web/20240829143703/https://heatherhorns.com/wp-content/uploads/2022/12/Blobhaj-12-13-2022.zip";
hash = "sha256-5l8ozTivCSOomPq+zDD4FWhK5mA/H2qkGs8beuDnp9s=";
};
"static/styles.json" = pkgs.writeText "styles.json" (builtins.toJSON (
builtins.fromJSON (builtins.readFile "${pkgs.akkoma-fe-domi}/static/styles.json") // {
elly-mod = "/static/themes/elly-mod.json";
}
));
"static/themes/elly-mod.json" = pkgs.writeText "elly-mod.json" (builtins.readFile ./elly-mod.json);
"static/custom.css" = pkgs.writeText "custom.css" ''
.tos-content img, .terms-of-service img {
max-width: 100%;
}
'';
"static/terms-of-service.html" = inputs.florp-about.packages.${pkgs.system}.default;
"images/sylvia-ritter-15012323.avif" = inputs.florp-branding.packages.${pkgs.system}.wallpaper;
"images/florp_banner.avif" = inputs.florp-branding.packages.${pkgs.system}.banner;
"favicon.png" = inputs.florp-branding.packages.${pkgs.system}.favicon;
};
frontends = {
primary = {
package = pkgs.akkoma-fe-domi;
name = "akkoma-fe";
ref = "5f0339ce00";
};
admin = {
package = pkgs.akkoma-admin-fe;
name = "admin-fe";
ref = "stable";
};
};
};
services.akkoma.config = let
inherit ((pkgs.formats.elixirConf { }).lib) mkRaw mkAtom;
mkMapOfPredefinedKeys = set: let
string = value: "\"${(lib.escape [ "\\" "#" "\"" ]) value}\"";
toElixir = value:
if value == null then "nil" else
if lib.isString value then string value else
if builtins.isBool value then lib.boolToString value else
if lib.isInt value || lib.isFloat value then toString value else
abort "Not a elixir value ${value}";
entries = attrs: lib.concatStringsSep ", " (lib.mapAttrsToList (name: value:
"${toElixir name}: ${toElixir value}"
) attrs);
in mkRaw "%{${entries set}}";
in {
":pleroma" = {
":instance" = {
name = "florp.social";
email = "contact@florp.social";
notify_email = "noreply@florp.social";
description = "Likes are now florps. The timeline goes sideways.";
instance_thumbnail = "/instance/thumbnail.avif";
limit = 69420;
description_limit = 69420;
remote_limit = 131072;
upload_limit = 256 * 1024 * 1024;
avatar_upload_limit = 4 * 1024 * 1024;
background_upload_limit = 8 * 1024 * 1024;
banner_upload_limit = 8 * 1024 * 1024;
registrations_open = true;
registration_reason_length = 2048;
account_approval_required = true;
account_activation_required = true;
federating = true;
federation_incoming_replies_max_depth = 1024;
federation_reachability_timeout_days = 14;
allow_relay = true;
max_pinned_statuses = 10;
max_report_comment_size = 2048;
safe_dm_mentions = true;
remote_post_retention_days = 365;
user_bio_length = 8192;
user_name_length = 64;
cleanup_attachments = true;
local_bubble = [
"solitary.social"
"donotsta.re"
"chaos.social"
];
};
":emoji".groups = {
blobs = "/emoji/blobs.gg/*.png";
blobhaj = "/emoji/blobhaj/512w/*.png";
neodog = "/emoji/neodog/*.png";
neocat = [
"/emoji/neocat/*.png"
"/emoji/neodog/additional_neocat/*.png"
];
neofox = [
"/emoji/neofox/*.png"
"/emoji/neodog/additional_neofox/*.png"
];
Custom = "/emoji/custom/*.png";
};
"Pleroma.Captcha".method = mkRaw "Pleroma.Captcha.Kocaptcha";
"Pleroma.Web.Endpoint".url.host = "florp.social";
"Pleroma.Web.Metadata.Providers.Theme".theme_color = "#070F1C";
"Pleroma.Emails.Mailer" = {
enabled = true;
adapter = mkRaw "Swoosh.Adapters.SMTP";
relay = "mail.kyouma.net";
username = "noreply@florp.social";
password._secret = config.sops.secrets."services/akkoma/mailerPassword".path;
port = 465;
ssl = true;
auth = mkRaw ":always";
};
":database".rum_enabled = true;
":media_proxy" = {
enabled = true;
base_url = "https://cache.florp.social";
proxy_opts.redirect_on_failure = true;
proxy_opts.max_body_length = 64 * 1024 * 1024;
};
":media_preview_proxy" = {
enabled = true;
thumbnail_max_width = 1920;
thumbnail_max_height = 1080;
min_content_length = 128 * 1024;
};
"Pleroma.Upload".base_url = "https://media.florp.social";
"Pleroma.Upload".filters = map mkRaw [
"Pleroma.Upload.Filter.Exiftool.ReadDescription"
"Pleroma.Upload.Filter.Exiftool.StripMetadata"
"Pleroma.Upload.Filter.Dedupe"
"Pleroma.Upload.Filter.AnonymizeFilename"
];
":mrf".policies = map mkRaw [
"Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy"
];
":mrf_object_age".threshold = 180 * 24 * 3600;
":frontend_configurations" = {
pleroma_fe = mkMapOfPredefinedKeys {
background = "/images/sylvia-ritter-15012323.avif";
nsfwCensorImage = "/static/blurhash-overlay.png";
collapseMessageWithSubject = true;
streaming = true;
webPushNotifications = true;
useStreamingApi = true;
scopeCopy = true;
subjectLineBehavior = "masto";
alwaysShowSubjectInput = true;
postContentType = "text/markdown";
modalOnRepeat = true;
minimalScopesMode = true;
redirectRootNoLogin = "/about";
translationLanguage = "en";
theme = "elly-mod";
};
};
":restrict_unauthenticated" = {
timelines = mkMapOfPredefinedKeys {
local = false;
federated = false;
bubble = true;
};
};
":translator" = {
enabled = true;
module = mkRaw "Pleroma.Akkoma.Translators.DeepL";
};
":deepl" = {
tier = mkAtom ":free";
api_key._secret = config.sops.secrets."services/akkoma/deepl".path;
};
};
":web_push_encryption".":vapid_details" = {
subject = "mailto:contact@florp.social";
};
":joken".":default_signer"._secret = "/var/lib/secrets/akkoma/jwt-signer";
};
services.postgresql.enable = true;
services.postgresql.extraPlugins = [
pkgs.postgresql16Packages.rum
];
services.nginx = {
clientMaxBodySize = "256m";
commonHttpConfig = ''
access_log off;
proxy_cache_path /var/cache/nginx/akkoma-media-cache
levels= keys_zone=akkoma_media_cache:64m max_size=64g
inactive=1y use_temp_path=off;
'';
};
kyouma.nginx.virtualHosts = let
proxyCache = ''
proxy_cache akkoma_media_cache;
# Cache objects in slices of 1 MiB
slice 1m;
proxy_cache_key $host$uri$is_args$args$slice_range;
proxy_set_header Range $slice_range;
# Decouple proxy and upstream responses
proxy_buffering on;
proxy_cache_lock on;
proxy_ignore_client_abort on;
# Default cache times for various responses
proxy_cache_valid 200 1y;
proxy_cache_valid 206 301 304 1h;
# Allow serving of stale items
proxy_cache_use_stale error timeout invalid_header updating;
'';
in {
"florp.social" = {
serverAliases = map (x: "${x}.florp.social") [ "a" "b" "c" ];
locations."/" = {
proxyPass = "http://unix:/run/akkoma/socket";
proxyWebsockets = true;
};
locations."^/media(/.*)$".return = "308 https://media.florp.social$1";
locations."^/proxy(/.*)$".return = "308 https://cache.florp.social$1";
locations."= /api/v1/pleroma/admin/config" = {
return = ''200 "\{\"error\":\"You must enable configurable_from_database in your config file.\"\}"'';
extraConfig = ''
types { } default_type "application/json; charset=utf-8";
'';
};
};
"media.florp.social" = {
useACMEHost = "florp.social";
locations."/" = {
proxyPass = "http://unix:/run/akkoma/socket";
extraConfig = ''
rewrite ^(?!/media)(.*)$ /media$1;
'' + proxyCache;
};
};
"cache.florp.social" = {
useACMEHost = "florp.social";
locations."/" = {
proxyPass = "http://unix:/run/akkoma/socket";
extraConfig = ''
rewrite ^(?!/proxy)(.*)$ /proxy$1;
'' + proxyCache;
};
};
};
security.acme.certs."florp.social".extraDomainNames = [
"cache.florp.social"
"media.florp.social"
] ++ map (x: "${x}.florp.social") [ "a" "b" "c" ];
}

View file

@ -0,0 +1,529 @@
{
"_pleroma_theme_version": 2,
"name": "elly's theme (mod)",
"theme": {
"themeEngineVersion": 3,
"shadows": {
"panel": [
{
"color": "#000000",
"x": "1",
"y": "2",
"blur": "6",
"spread": 0,
"alpha": 0.6
}
],
"topBar": [
{
"x": 0,
"y": 0,
"blur": 4,
"spread": 0,
"color": "#000000",
"alpha": 0.6
}
],
"popup": [
{
"x": 2,
"y": 2,
"blur": 3,
"spread": 0,
"color": "#000000",
"alpha": 0.5
}
],
"avatar": [
{
"x": 0,
"y": 1,
"blur": 8,
"spread": 0,
"color": "#000000",
"alpha": 0.7
}
],
"avatarStatus": [],
"panelHeader": [
{
"color": "#ffffff",
"x": 0,
"y": "40",
"blur": "40",
"spread": "-40",
"inset": true,
"alpha": "0.1"
}
],
"button": [
{
"color": "#ffffff",
"x": 0,
"y": "0",
"blur": "0",
"spread": "1",
"alpha": "0.15",
"inset": true
},
{
"color": "#000000",
"x": "1",
"y": "1",
"blur": "1",
"spread": 0,
"alpha": "0.3",
"inset": false
}
],
"buttonHover": [
{
"color": "#318cbc",
"x": 0,
"y": "0",
"blur": 0,
"spread": "1",
"alpha": 1,
"inset": true
},
{
"color": "#000000",
"x": "1",
"y": "1",
"blur": "1",
"spread": 0,
"alpha": "0.3",
"inset": false
}
],
"buttonPressed": [
{
"color": "#bebebe",
"x": 0,
"y": 0,
"blur": "0",
"spread": "50",
"alpha": 0.5,
"inset": true
},
{
"color": "#ffffff",
"x": 0,
"y": "0",
"blur": 0,
"spread": "1",
"alpha": 0.2,
"inset": true
},
{
"color": "#000000",
"x": "1",
"y": "1",
"blur": 0,
"spread": 0,
"alpha": "0.3",
"inset": false
}
],
"input": [
{
"color": "#FFFFFF",
"x": 0,
"y": "0",
"blur": 0,
"spread": "1",
"alpha": "0.2",
"inset": true
}
]
},
"colors": {
"underlay": "#000000",
"bg": "#070e1b",
"fg": "#31363b",
"cRed": "#c42d38",
"cGreen": "#22b325",
"cOrange": "#d7d720",
"cBlue": "#ffffff",
"accent": "#3daee9",
"link": "#318cbc",
"text": "#bebebe",
"badgeNotification": "#024297",
"badgeNotificationText": "#ffffff",
"alertNeutral": "#bebebe",
"alertNeutralText": "#ffffff",
"alertPopupNeutral": "#bebebe",
"alertPopupNeutralText": "#000000",
"alertSuccess": "#22b325",
"alertSuccessText": "#ffffff",
"alertPopupSuccess": "#22b325",
"alertPopupSuccessText": "#000000",
"alertWarning": "#d7d720",
"alertWarningText": "#ffffff",
"alertPopupWarning": "#d7d720",
"alertPopupWarningText": "#000000",
"alertError": "#ff090f",
"alertErrorText": "#bebebe",
"alertPopupError": "#ff090f",
"alertPopupErrorText": "#ffffff",
"panel": "#0d1a31",
"panelText": "#bebebe",
"alertNeutralPanelText": "#ffffff",
"alertSuccessPanelText": "#ffffff",
"alertWarningPanelText": "#ffffff",
"alertErrorPanelText": "#bebebe",
"fgText": "#bebebe",
"topBar": "#0d1a31",
"topBarText": "#bebebe",
"input": "#18223d",
"inputTopbarText": "#bebebe",
"inputPanelText": "#bebebe",
"inputText": "#bebebe",
"btn": "#18223d",
"btnText": "#bebebe",
"btnTopBarText": "#bebebe",
"btnDisabled": "#0c121c",
"btnDisabledTopBarText": "#393d45",
"btnPanelText": "#bebebe",
"btnDisabledPanelText": "#393d45",
"btnDisabledText": "#393d45",
"btnToggled": "#1b1d1f",
"btnToggledTopBarText": "#bebebe",
"btnToggledPanelText": "#bebebe",
"btnToggledText": "#bebebe",
"btnPressed": "#1b1d1f",
"btnPressedTopBarText": "#bebebe",
"btnPressedTopBar": "#1b1d1f",
"btnPressedPanelText": "#bebebe",
"btnPressedPanel": "#1b1d1f",
"btnPressedText": "#bebebe",
"tabActiveText": "#bebebe",
"tabText": "#bebebe",
"tab": "#1b1d1f",
"fgLink": "#543fe7",
"topBarLink": "#bebebe",
"panelLink": "#38a5ed",
"panelFaint": "#bebebe",
"icon": "#63666d",
"poll": "#1d4f6e",
"pollText": "#bebebe",
"border": "#363c41",
"postCyantext": "#ffffff",
"postGreentext": "#22b325",
"postLink": "#3daee9",
"lightText": "#f2f2f2",
"popover": "#070e1b",
"selectedMenuPopover": "#0d1930",
"highlight": "#0d1930",
"highlightText": "#bebebe",
"selectedMenu": "#0d1930",
"selectedMenuText": "#bebebe",
"selectedMenuPopoverIcon": "#666c77",
"highlightLink": "#3daee9",
"selectedMenuLink": "#3daee9",
"selectedMenuPopoverLink": "#3daee9",
"selectedMenuPopoverText": "#bebebe",
"faintLink": "#3daee9",
"highlightFaintLink": "#3daee9",
"selectedMenuFaintLink": "#3daee9",
"selectedMenuPopoverFaintLink": "#3daee9",
"faint": "#bebebe",
"highlightFaintText": "#bebebe",
"selectedMenuFaintText": "#bebebe",
"selectedMenuPopoverFaintText": "#bebebe",
"highlightLightText": "#f2f2f2",
"selectedMenuLightText": "#f2f2f2",
"selectedMenuPopoverLightText": "#f2f2f2",
"selectedMenuIcon": "#666c77",
"selectedPost": "#0d1930",
"selectedPostText": "#bebebe",
"selectedPostIcon": "#666c77",
"selectedPostLink": "#3daee9",
"selectedPostFaintLink": "#3daee9",
"highlightPostLink": "#3daee9",
"selectedPostPostLink": "#3daee9",
"selectedPostLightText": "#f2f2f2",
"selectedPostFaintText": "#bebebe",
"popoverText": "#bebebe",
"popoverIcon": "#63666d",
"popoverLink": "#3daee9",
"postFaintLink": "#3daee9",
"popoverPostFaintLink": "#3daee9",
"popoverFaintLink": "#3daee9",
"popoverFaintText": "#bebebe",
"popoverPostLink": "#3daee9",
"popoverLightText": "#f2f2f2",
"highlightIcon": "#666c77",
"highlightPostFaintLink": "#3daee9",
"profileTint": "#070e1b",
"profileBg": "#03070f",
"wallpaper": "#050a13"
},
"opacity": {
"underlay": 0.15,
"bg": 0.85,
"alert": 0.5,
"alertPopup": 0.95,
"panel": 0.75,
"input": 0.9,
"btn": 0.9,
"faint": 0.5,
"border": 0.55,
"popover": 1,
"profileTint": 0.5
},
"radii": {
"btn": "3",
"input": "4",
"checkbox": "1",
"panel": "3",
"avatar": "4",
"avatarAlt": "4",
"tooltip": 2,
"attachment": "3"
},
"fonts": {
"interface": {
"family": "sans-serif"
},
"input": {
"family": "inherit"
},
"post": {
"family": "inherit"
},
"postCode": {
"family": "monospace"
}
}
},
"source": {
"themeEngineVersion": 3,
"fonts": {},
"shadows": {
"panel": [
{
"x": "1",
"y": "2",
"blur": "6",
"spread": 0,
"color": "#000000",
"alpha": 0.6
}
],
"button": [
{
"x": 0,
"y": "0",
"blur": "0",
"spread": "1",
"color": "#ffffff",
"alpha": "0.15",
"inset": true
},
{
"x": "1",
"y": "1",
"blur": "1",
"spread": 0,
"color": "#000000",
"alpha": "0.3",
"inset": false
}
],
"panelHeader": [
{
"x": 0,
"y": "40",
"blur": "40",
"spread": "-40",
"inset": true,
"color": "#ffffff",
"alpha": "0.1"
}
],
"buttonHover": [
{
"x": 0,
"y": "0",
"blur": 0,
"spread": "1",
"color": "--link",
"alpha": 1,
"inset": true
},
{
"x": "1",
"y": "1",
"blur": "1",
"spread": 0,
"color": "#000000",
"alpha": "0.3",
"inset": false
}
],
"buttonPressed": [
{
"x": 0,
"y": 0,
"blur": "0",
"spread": "50",
"color": "--faint",
"alpha": 0.5,
"inset": true
},
{
"x": 0,
"y": "0",
"blur": 0,
"spread": "1",
"color": "#ffffff",
"alpha": 0.2,
"inset": true
},
{
"x": "1",
"y": "1",
"blur": 0,
"spread": 0,
"color": "#000000",
"alpha": "0.3",
"inset": false
}
],
"input": [
{
"x": 0,
"y": "0",
"blur": 0,
"spread": "1",
"color": "#FFFFFF",
"alpha": "0.2",
"inset": true
}
]
},
"opacity": {
"bg": "0.85",
"border": "0.55",
"panel": "0.75",
"btn": "0.9",
"input": "0.9"
},
"colors": {
"bg": "#070e1b",
"fg": "#31363b",
"text": "#bebebe",
"underlay": "#000000",
"link": "#318cbc",
"accent": "#3daee9",
"faint": "#bebebe",
"faintLink": "#3daee9",
"postFaintLink": "#3daee9",
"cBlue": "#ffffff",
"cRed": "#c42d38",
"cGreen": "#22b325",
"cOrange": "#d7d720",
"highlight": "#0d1930",
"highlightLightText": "#f2f2f2",
"highlightPostLink": "#3daee9",
"highlightFaintText": "#bebebe",
"highlightFaintLink": "#3daee9",
"highlightPostFaintLink": "#3daee9",
"highlightText": "#bebebe",
"highlightLink": "#3daee9",
"highlightIcon": "#666c77",
"popover": "#070e1b",
"popoverLightText": "#f2f2f2",
"popoverPostLink": "#3daee9",
"popoverFaintText": "#bebebe",
"popoverFaintLink": "#3daee9",
"popoverPostFaintLink": "#3daee9",
"popoverText": "#bebebe",
"popoverLink": "#3daee9",
"popoverIcon": "#63666d",
"selectedPost": "#0d1930",
"selectedPostFaintText": "#bebebe",
"selectedPostLightText": "#f2f2f2",
"selectedPostPostLink": "#3daee9",
"selectedPostFaintLink": "#3daee9",
"selectedPostText": "#bebebe",
"selectedPostLink": "#3daee9",
"selectedPostIcon": "#666c77",
"selectedMenu": "#0d1930",
"selectedMenuLightText": "#f2f2f2",
"selectedMenuFaintText": "#bebebe",
"selectedMenuFaintLink": "#3daee9",
"selectedMenuText": "#bebebe",
"selectedMenuLink": "#3daee9",
"selectedMenuIcon": "#666c77",
"selectedMenuPopover": "#0d1930",
"selectedMenuPopoverLightText": "#f2f2f2",
"selectedMenuPopoverFaintText": "#bebebe",
"selectedMenuPopoverFaintLink": "#3daee9",
"selectedMenuPopoverText": "#bebebe",
"selectedMenuPopoverLink": "#3daee9",
"selectedMenuPopoverIcon": "#666c77",
"lightText": "#f2f2f2",
"postLink": "#3daee9",
"border": "#363c41",
"poll": "#1d4f6e",
"pollText": "#bebebe",
"icon": "#63666d",
"fgText": "#bebebe",
"fgLink": "#543fe7",
"panel": "#0d1a31",
"panelText": "#bebebe",
"panelFaint": "#bebebe",
"panelLink": "#38a5ed",
"topBar": "#0d1a31",
"topBarText": "#bebebe",
"topBarLink": "#bebebe",
"tab": "#1b1d1f",
"tabText": "#bebebe",
"tabActiveText": "#bebebe",
"btn": "#18223d",
"btnText": "#bebebe",
"btnPanelText": "#bebebe",
"btnTopBarText": "#bebebe",
"btnPressed": "#1b1d1f",
"btnPressedText": "#bebebe",
"btnPressedPanel": "#1b1d1f",
"btnPressedPanelText": "#bebebe",
"btnPressedTopBar": "#1b1d1f",
"btnPressedTopBarText": "#bebebe",
"btnToggled": "#1b1d1f",
"btnToggledText": "#bebebe",
"btnToggledPanelText": "#bebebe",
"btnToggledTopBarText": "#bebebe",
"btnDisabled": "#0c121c",
"btnDisabledText": "#393d45",
"btnDisabledPanelText": "#393d45",
"btnDisabledTopBarText": "#393d45",
"input": "#18223d",
"inputText": "#bebebe",
"inputPanelText": "#bebebe",
"inputTopbarText": "#bebebe",
"alertError": "#ff090f",
"alertErrorText": "#bebebe",
"alertErrorPanelText": "#bebebe",
"alertWarning": "#d7d720",
"alertWarningText": "#ffffff",
"alertWarningPanelText": "#ffffff",
"alertNeutral": "#bebebe",
"alertNeutralText": "#ffffff",
"alertNeutralPanelText": "#ffffff",
"badgeNotification": "#024297",
"badgeNotificationText": "#ffffff"
},
"radii": {
"btn": "3",
"input": "4",
"checkbox": "1",
"panel": "3",
"avatar": "4",
"avatarAlt": "4",
"attachment": "3"
}
}
}

View file

@ -0,0 +1,62 @@
{ lib, pkgs, ... }: {
services = lib.genAttrs [
"sonarr"
"radarr"
"prowlarr"
"lidarr"
] (_: {
enable = true;
});
systemd.services = lib.genAttrs [ "radarr" "sonarr" ] (_: {
wants = [ "mnt-mezzomix.mount" ];
});
systemd.mounts = lib.singleton {
description = "rclone mount";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" "radarr.service" "sonarr.service" ];
where = "/mnt/mezzomix";
what = "mezzomix@otos.feralhosting.com:private/rtorrent/data";
type = "fuse.sshfs";
options = "umask=0000,idmap=user,_netdev,rw,nosuid,allow_other,default_permissions,follow_symlinks,reconnect,max_conns=10,identityfile=/etc/keys/ssh_host_ed25519_key";
};
systemd.automounts = lib.singleton {
name = "mnt-mezzomix.automount";
where = "/mnt/mezzomix";
wantedBy = [ "multi-user.target" ];
automountConfig.TimeoutIdleSec = 0;
};
environment.systemPackages = [ pkgs.sshfs ];
programs.ssh.ciphers = [ "aes256-ctr" ];
kyouma.nginx.virtualHosts = {
"crime.kyouma.net" = {
verifyClientCert = true;
disableHttp3 = true;
locations = {
"/".root = pkgs.writeTextDir "index.html" (builtins.readFile ./landingPage.html);
"/lidarr/" = {
proxyPass = "http://127.0.0.1:8686";
recommendedProxySettings = true;
};
"/sonarr/" = {
proxyPass = "http://127.0.0.1:8989";
recommendedProxySettings = true;
};
"/radarr/" = {
proxyPass = "http://127.0.0.1:7878";
recommendedProxySettings = true;
};
"/prowlarr/" = {
proxyPass = "http://127.0.0.1:9696";
recommendedProxySettings = true;
};
};
};
};
security.acme.certs."crime.kyouma.net" = {};
}

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<html>
<head>
<title>crime.kyouma.net</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to crime.kyouma.net!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>Sonarr
<a href="https://crime.kyouma.net/sonarr">crime.kyouma.net/sonarr</a><br/>
Radarr
<a href="https://crime.kyouma.net/radarr">crime.kyouma.net/radarr</a><br/>
Lidarr
<a href="https://crime.kyouma.net/lidarr">crime.kyouma.net/lidarr</a><br/>
Prowlarr
<a href="https://crime.kyouma.net/prowlarr">crime.kyouma.net/prowlarr</a></p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>

View file

@ -5,6 +5,7 @@
}; };
services.forgejo = { services.forgejo = {
enable = true; enable = true;
package = pkgs.forgejo;
secrets.mailer.PASSWD = config.sops.secrets."services/forgejo/mailerPassword".path; secrets.mailer.PASSWD = config.sops.secrets."services/forgejo/mailerPassword".path;
database = { database = {
createDatabase = true; createDatabase = true;

View file

@ -30,8 +30,8 @@
extraConfig = '' extraConfig = ''
server_store_uri = https://cache.kyouma.net server_store_uri = https://cache.kyouma.net
binary_cache_public_uri = https://cache.kyouma.net binary_cache_public_uri = https://cache.kyouma.net
evaluator_workers = 8 evaluator_workers = 1
evaluator_max_memory_size = 16384 evaluator_max_memory_size = 4096
max_output_size = ${builtins.toString (24 * 1024 * 1024 * 1024)} max_output_size = ${builtins.toString (24 * 1024 * 1024 * 1024)}
''; '';
}; };
@ -43,6 +43,11 @@
}; };
}; };
systemd.services.hydra-evaluator.serviceConfig = {
MemoryHigh = "150G";
MemoryMax = "155G";
};
kyouma.nginx.defaultForbidden = "hydra.kyouma.net"; kyouma.nginx.defaultForbidden = "hydra.kyouma.net";
kyouma.nginx.virtualHosts = { kyouma.nginx.virtualHosts = {
"hydra.kyouma.net".locations."/".proxyPass = "http://localhost:3000"; "hydra.kyouma.net".locations."/".proxyPass = "http://localhost:3000";

View file

@ -1,12 +1,17 @@
{ config, lib, ... }: { { config, lib, ... }: {
nix.buildMachines = [ nix.buildMachines = let
base = [ "nixos-test" "benchmark" "big-parallel" "kvm" ];
x86-64 = [ "gccarch-x86-64" "gccarch-x86-64-v2" "gccarch-x86-64-v3" ];
aarch64 = [ "gccarch-armv8-a" "gccarch-armv8.1-a" "gccarch-armv8.2-a" "gccarch-armv8.2-a+fp16+rcpc+dotprod" ];
riscv64 = [ "gccarch-rv64imac" "gccarch-rv64imacfd" "gccarch-rv64gc" ];
in [
{ {
hostName = "localhost"; hostName = "localhost";
protocol = null; protocol = null;
maxJobs = 0; maxJobs = 0;
speedFactor = 0; speedFactor = 0;
systems = [ "x86_64-linux" ]; systems = [ "x86_64-linux" ];
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; supportedFeatures = base;
} }
{ {
hostName = "integra.kyouma.net"; hostName = "integra.kyouma.net";
@ -14,28 +19,32 @@
maxJobs = 2; maxJobs = 2;
speedFactor = 4; speedFactor = 4;
systems = [ "aarch64-linux" ]; systems = [ "aarch64-linux" ];
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; supportedFeatures = base ++ aarch64;
sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path; sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path;
} }
{ {
hostName = "build-worker-04.nyantec.com"; hostName = "schrodinger.kyouma.net";
sshUser = "nix-ssh"; sshUser = "root";
maxJobs = 4; maxJobs = 0;
speedFactor = 18; speedFactor = 20;
systems = [ "x86_64-linux" "riscv64-linux" ]; systems = [ "riscv64-linux" ];
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" "gccarch-x86-64" "gccarch-x86-64-v2" "gccarch-x86-64-v3" ]; supportedFeatures = base ++ riscv64;
sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path; sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path;
} }
] ++ lib.forEach [ "01" "02" "03" "05" "06" "07" "08" "09" ] (num: { ] ++ lib.forEach (lib.range 0 11) (num: {
hostName = "build-worker-${num}"; hostName = "build-worker-${lib.fixedWidthNumber 2 num}";
sshUser = "root"; sshUser = "root";
maxJobs = 2; maxJobs = 2;
speedFactor = 20; speedFactor = 20;
systems = [ "i686-linux" "x86_64-linux" ]; systems = [ "i686-linux" "x86_64-linux" ]
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" "gccarch-x86-64" "gccarch-x86-64-v2" "gccarch-x86-64-v3" ]; ++ lib.optionals (lib.mod num 5 == 0) [ "aarch64-linux" "riscv64-linux" ];
supportedFeatures = [ "nixos-test" "benchmark" "big-parallel" ] ++ x86-64
++ lib.optionals (lib.mod num 5 == 0) (aarch64 ++ riscv64);
sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path; sshKey = config.sops.secrets."services/hydra/id_ed25519_hydra".path;
}); });
nix.gc.options = lib.mkForce "--delete-older-than 90d"; nixpkgs.config.allowUnsupportedSystem = true;
nix.distributedBuilds = true;
nix.gc.automatic = lib.mkForce false;
nix.settings = { nix.settings = {
allowed-uris = [ allowed-uris = [
"github:" "github:"
@ -49,7 +58,10 @@
"build-worker-03.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEGqTY74c5g15DSNPNM2Wdr5jAwS7BFgX1XRnhtGOnJc"; "build-worker-03.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEGqTY74c5g15DSNPNM2Wdr5jAwS7BFgX1XRnhtGOnJc";
"build-worker-04.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICOq+5I+nlAN2lJoOtoXrYEDuZ/TMPMa43pIlablYigK"; "build-worker-04.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICOq+5I+nlAN2lJoOtoXrYEDuZ/TMPMa43pIlablYigK";
"integra.kyouma.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBwEQiSfaDrUAwgul4mktusBPcIVxI4pLNDh9DPopVU"; "integra.kyouma.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBwEQiSfaDrUAwgul4mktusBPcIVxI4pLNDh9DPopVU";
"schrodinger.kyouma.net".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKo7vZ6lS1wx76YsbAdhOsGcc20YMAW52ep8SZ/FCHDp";
"lab.nyantec.com".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIUePtVPtBK+CYosufbaGiMT4EVanti4V5t2Wg0g/Fy4";
"localhost".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPNVavo3YHVsrYwXRVISu7kDoknn+5inFGySn4azlB8P"; "localhost".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPNVavo3YHVsrYwXRVISu7kDoknn+5inFGySn4azlB8P";
"[build-worker-kyoumanet.fly.dev]:2200".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJUGzlilikAUfUGKXVCoTeDvPRoWUgDDkNU5WaRUBzls";
"[build-worker-kyoumanet.fly.dev]:2201".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDL2M97UBHg9aUfjDUxzmzg1r0ga0m3/stummBVwuEAB"; "[build-worker-kyoumanet.fly.dev]:2201".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDL2M97UBHg9aUfjDUxzmzg1r0ga0m3/stummBVwuEAB";
"[build-worker-kyoumanet.fly.dev]:2202".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOTwVKL0P0chPM2Gz23rbT94844+w1CGJdCaZdzfjThz"; "[build-worker-kyoumanet.fly.dev]:2202".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOTwVKL0P0chPM2Gz23rbT94844+w1CGJdCaZdzfjThz";
"[build-worker-kyoumanet.fly.dev]:2203".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAjy2eZGJQeAYy0+fLgW9jiS0jVY2LInY0NDMnzCvvKp"; "[build-worker-kyoumanet.fly.dev]:2203".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAjy2eZGJQeAYy0+fLgW9jiS0jVY2LInY0NDMnzCvvKp";
@ -58,32 +70,18 @@
"[build-worker-kyoumanet.fly.dev]:2206".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGf0kxGgwOG9KhUhvxxTSiQC5YikrzZXKDgSpBw33qN4"; "[build-worker-kyoumanet.fly.dev]:2206".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGf0kxGgwOG9KhUhvxxTSiQC5YikrzZXKDgSpBw33qN4";
"[build-worker-kyoumanet.fly.dev]:2207".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL9z95a6Fn/dB+iNigEYpuJdBnBwCkIZYaKHcFbGP+RY"; "[build-worker-kyoumanet.fly.dev]:2207".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL9z95a6Fn/dB+iNigEYpuJdBnBwCkIZYaKHcFbGP+RY";
"[build-worker-kyoumanet.fly.dev]:2208".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAk+FNMhTfAVqk3MfLp4QiG/i5ti53DlpnC0q+sOvU9O"; "[build-worker-kyoumanet.fly.dev]:2208".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAk+FNMhTfAVqk3MfLp4QiG/i5ti53DlpnC0q+sOvU9O";
"[build-worker-kyoumanet-cdg.fly.dev]:2209".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJGlQD/3fLn/Kyb7v0RIycHRcArGi75jURj803EMpW0S";
"[build-worker-kyoumanet-cdg.fly.dev]:2210".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMQm1FSGBGdCR5f8MvBvdKM0M4yIQVnH1po7hHO5T1qz";
"[build-worker-kyoumanet-cdg.fly.dev]:2211".publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINlH+v2ZlcDQY3itw4b7aRbwRTqDsTE0R5Ua3vF0VaGr";
}; };
extraConfig = '' extraConfig = ''
Host build-worker-01 Host machine-0008.cloud-v.co
Hostname build-worker-kyoumanet.fly.dev Hostname machine.cloud-v.co
Port 2201 Port 20008
Host build-worker-02 '' + lib.concatLines (lib.forEach (lib.range 0 11) (num: ''
Hostname build-worker-kyoumanet.fly.dev Host build-worker-${lib.fixedWidthNumber 2 num}
Port 2202 Hostname build-worker-kyoumanet${lib.optionalString (num > 8) "-cdg"}.fly.dev
Host build-worker-03 Port 22${lib.fixedWidthNumber 2 num}
Hostname build-worker-kyoumanet.fly.dev ''));
Port 2203
Host build-worker-05
Hostname build-worker-kyoumanet.fly.dev
Port 2204
Host build-worker-06
Hostname build-worker-kyoumanet.fly.dev
Port 2205
Host build-worker-07
Hostname build-worker-kyoumanet.fly.dev
Port 2206
Host build-worker-08
Hostname build-worker-kyoumanet.fly.dev
Port 2207
Host build-worker-09
Hostname build-worker-kyoumanet.fly.dev
Port 2208
'';
}; };
} }

View file

@ -0,0 +1,34 @@
{ lib, ... }: {
services.jellyfin.enable = true;
kyouma.nginx.virtualHosts = {
"watch.kyouma.net".redirectTo = "fentanyl.trade";
"fentanyl.trade" = {
serverAliases = lib.singleton "frotti.ng";
locations = {
"= /".return = "302 https://$host/web/";
"/" = {
proxyPass = "http://[::1]:8096";
recommendedProxySettings = true;
extraConfig = ''
proxy_buffering on;
'';
};
"= /web/" = {
proxyPass = "http://[::1]:8096";
recommendedProxySettings = true;
};
"/socket" = {
proxyPass = "http://[::1]:8096";
recommendedProxySettings = true;
proxyWebsockets = true;
};
};
};
};
security.acme.certs."fentanyl.trade".extraDomainNames = [
"frotti.ng"
"watch.kyouma.net"
];
}

View file

@ -1,4 +1,6 @@
{ config, lib, ... }: with lib; { { config, lib, pkgs, ... }: let
inherit (lib) mkDefault;
in {
kyouma.deployment.tags = [ "web" ]; kyouma.deployment.tags = [ "web" ];
security.dhparams.enable = true; security.dhparams.enable = true;
security.dhparams.params.nginx = {}; security.dhparams.params.nginx = {};
@ -9,9 +11,11 @@
email = "noc@kyouma.net"; email = "noc@kyouma.net";
}; };
}; };
networking.firewall.allowedTCPPorts = [ 80 443 ];
networking.firewall.allowedUDPPorts = [ 443 ];
services.nginx = { services.nginx = {
enable = true; enable = true;
#package = pkgs.nginxQuic; package = mkDefault pkgs.nginxQuic;
recommendedGzipSettings = true; recommendedGzipSettings = true;
recommendedOptimisation = true; recommendedOptimisation = true;
@ -32,6 +36,7 @@
add_header X-XSS-Protection "1; mode=block" always; add_header X-XSS-Protection "1; mode=block" always;
add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "same-origin" always; add_header Referrer-Policy "same-origin" always;
add_header Alt-Svc 'h3=":443"; ma=7776000; persist=1, h2=":443"; ma=7776000; persist=1';
#add_header Content-Security-Policy "script-src 'self'; object-src 'none'; base-uri 'none';" always; #add_header Content-Security-Policy "script-src 'self'; object-src 'none'; base-uri 'none';" always;
''; '';
eventsConfig = '' eventsConfig = ''

View file

@ -37,6 +37,9 @@
pavucontrol pavucontrol
signal-desktop signal-desktop
element-desktop element-desktop
firefox
# currently broken
#inputs.firefox.packages.${pkgs.system}.firefox
nixfmt-classic nixfmt-classic
wl-clipboard wl-clipboard

View file

@ -0,0 +1,78 @@
{ inputs, pkgs, ... }: {
imports = [
inputs.home-manager.nixosModules.home-manager
];
users.users.lucy = {
isNormalUser = true;
shell = pkgs.fish;
ignoreShellProgramCheck = true;
extraGroups = [ "wheel" ];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIId7XvwEHtC9KdGg4Bn+XE+yyBp7/dRToJX9T56mM7ln kosaki@kosaki"
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAZH8HwE1OxVAArRpc3+c7foYJ/WYjp4BqUyuab9yQyl emilia@emilia"
];
};
home-manager.useGlobalPkgs = true;
home-manager.users.lucy = {
home.stateVersion = "24.11";
home.packages = with pkgs; [
whois
htop
restic
fend
];
fonts.fontconfig.enable = true;
programs.bat.enable = true;
programs.gpg.enable = true;
programs.ripgrep.enable = true;
programs.tmux = {
enable = true;
prefix = "M-w";
clock24 = true;
extraConfig = ''
# unbind keys
unbind-key C-b
# new prefix
bind-key M-w send-prefix
# selection via vim keys
bind-key -r h select-pane -L
bind-key -r j select-pane -D
bind-key -r k select-pane -U
bind-key -r l select-pane -R
# resize aswell
bind-key -r C-h resize-pane -L 5
bind-key -r C-j resize-pane -D 5
bind-key -r C-k resize-pane -U 5
bind-key -r C-l resize-pane -R 5
bind-key g split-window
bind-key v split-window -h
'';
};
programs.eza = {
enable = true;
icons = "auto";
git = true;
extraOptions = [
"--color-scale=all"
"--color-scale-mode=gradient"
"--group-directories-first"
];
};
programs.fish = {
enable = true;
interactiveShellInit = ''
set -U fish_greeting
'';
};
};
}

View file

@ -0,0 +1,49 @@
{ inputs, pkgs, ... }: {
imports = [
inputs.home-manager.nixosModules.home-manager
];
users.users.nil = {
isNormalUser = true;
shell = pkgs.fish;
ignoreShellProgramCheck = true;
extraGroups = [ "wheel" ];
openssh.authorizedKeys.keys = [
"sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAICczPHRwY9MAwDGlcB0QgMOJjcpLJhVU3covrW9RBS62AAAABHNzaDo="
];
};
home-manager.useGlobalPkgs = true;
home-manager.users.nil = {
home.stateVersion = "24.11";
home.packages = with pkgs; [
whois
htop
restic
fend
];
fonts.fontconfig.enable = true;
programs.bat.enable = true;
programs.gpg.enable = true;
programs.ripgrep.enable = true;
programs.eza = {
enable = true;
icons = "auto";
git = true;
extraOptions = [
"--color-scale=all"
"--color-scale-mode=gradient"
"--group-directories-first"
];
};
programs.fish = {
enable = true;
interactiveShellInit = ''
set -U fish_greeting
'';
};
};
}

View file

@ -5,17 +5,18 @@
"crane": "crane", "crane": "crane",
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"nix-github-actions": "nix-github-actions",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {
"lastModified": 1729116596, "lastModified": 1731270564,
"narHash": "sha256-NnLMLIXGZtAscUF4dCShksuQ1nOGF6Y2dEeyj0rBbUg=", "narHash": "sha256-6KMC/NH/VWP5Eb+hA56hz0urel3jP6Y6cF2PX6xaTkk=",
"owner": "zhaofengli", "owner": "zhaofengli",
"repo": "attic", "repo": "attic",
"rev": "2b05b7d986cf6009b1c1ef7daa4961cd1a658782", "rev": "47752427561f1c34debb16728a210d378f0ece36",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -29,11 +30,11 @@
"fromYaml": "fromYaml" "fromYaml": "fromYaml"
}, },
"locked": { "locked": {
"lastModified": 1708890466, "lastModified": 1732200724,
"narHash": "sha256-LlrC09LoPi8OPYOGPXegD72v+//VapgAqhbOFS3i8sc=", "narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=",
"owner": "SenchoPens", "owner": "SenchoPens",
"repo": "base16.nix", "repo": "base16.nix",
"rev": "665b3c6748534eb766c777298721cece9453fdae", "rev": "153d52373b0fb2d343592871009a286ec8837aec",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -77,11 +78,11 @@
"base16-vim": { "base16-vim": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1716150083, "lastModified": 1731949548,
"narHash": "sha256-ZMhnNmw34ogE5rJZrjRv5MtG3WaqKd60ds2VXvT6hEc=", "narHash": "sha256-XIDexXM66sSh5j/x70e054BnUsviibUShW7XhbDGhYo=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "base16-vim", "repo": "base16-vim",
"rev": "6e955d704d046b0dc3e5c2d68a2a6eeffd2b5d3d", "rev": "61165b1632409bd55e530f3dbdd4477f011cadc6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -155,11 +156,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1729281548, "lastModified": 1732742778,
"narHash": "sha256-MuojlSnwAJAwfhgmW8ZtZrwm2Sko4fqubCvReqbUzYw=", "narHash": "sha256-i+Uw8VOHzQe9YdNwKRbzvaPWLE07tYVqUDzSFTXhRgk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "a6a3179ddf396dfc28a078e2f169354d0c137125", "rev": "341482e2f4d888e3f60cae1c12c3df896e7230d8",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -191,6 +192,26 @@
"type": "github" "type": "github"
} }
}, },
"eosyn": {
"inputs": {
"lix": "lix",
"lix-module": "lix-module",
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1732835047,
"narHash": "sha256-O+JD5tKyCRtE+ZY5cpDQnepcyEP3xDxqSw4irJRxRgM=",
"ref": "refs/heads/main",
"rev": "29adbc654463e677bc8bfbfa311c765584446bd8",
"revCount": 1,
"type": "git",
"url": "https://woof.rip/mikael/eosyn.git"
},
"original": {
"type": "git",
"url": "https://woof.rip/mikael/eosyn.git"
}
},
"fernglas": { "fernglas": {
"inputs": { "inputs": {
"communities": "communities", "communities": "communities",
@ -213,6 +234,24 @@
"type": "github" "type": "github"
} }
}, },
"firefox": {
"inputs": {
"eosyn": "eosyn"
},
"locked": {
"lastModified": 1732835073,
"narHash": "sha256-6pF35LT6oLTFTuwJ4ZxjePY+qHpC4BGcOExJeiUAlxY=",
"ref": "refs/heads/main",
"rev": "cf453c076add9ee34542a318fa7a7a865087921b",
"revCount": 4,
"type": "git",
"url": "https://woof.rip/mikael/firefox.git"
},
"original": {
"type": "git",
"url": "https://woof.rip/mikael/firefox.git"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -262,11 +301,11 @@
"flake-compat_4": { "flake-compat_4": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1673956053, "lastModified": 1696426674,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=", "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9", "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -326,11 +365,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1727826117, "lastModified": 1730504689,
"narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", "rev": "506278e768c2a08bec68eb62932193e341f55c90",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -344,11 +383,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1726560853, "lastModified": 1731533236,
"narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -362,11 +401,11 @@
"systems": "systems_2" "systems": "systems_2"
}, },
"locked": { "locked": {
"lastModified": 1710146030, "lastModified": 1731533236,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -394,6 +433,24 @@
} }
}, },
"flake-utils_4": { "flake-utils_4": {
"inputs": {
"systems": "systems_4"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_5": {
"inputs": { "inputs": {
"systems": [ "systems": [
"stylix", "stylix",
@ -401,11 +458,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1710146030, "lastModified": 1731533236,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -429,14 +486,89 @@
"type": "github" "type": "github"
} }
}, },
"flakey-profile_2": {
"locked": {
"lastModified": 1712898590,
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
"owner": "lf-",
"repo": "flakey-profile",
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
"type": "github"
},
"original": {
"owner": "lf-",
"repo": "flakey-profile",
"type": "github"
}
},
"florp-about": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1731582952,
"narHash": "sha256-hnvqHeekGal+hml6BQB254LsJn+Vk5QNKzkIu8rH/xs=",
"ref": "refs/heads/main",
"rev": "f283dba73f777746e1675126f8fa4c5b1fd06152",
"revCount": 10,
"type": "git",
"url": "https://woof.rip/florp/about.git"
},
"original": {
"type": "git",
"url": "https://woof.rip/florp/about.git"
}
},
"florp-branding": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1731182323,
"narHash": "sha256-Ecw7fOxv3hp1iLWBqlYW9TTNi0LTtiu92gtqfdn5v20=",
"ref": "refs/heads/main",
"rev": "8aaf8c85b902eaaabfdeadd5502019b2816991b9",
"revCount": 3,
"type": "git",
"url": "https://woof.rip/florp/branding.git"
},
"original": {
"type": "git",
"url": "https://woof.rip/florp/branding.git"
}
},
"florp-moderation": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1732211216,
"narHash": "sha256-eXsk0hZ2sFAvQht9W6Xxej/8AHYCGzvATFLoY1xwG/o=",
"ref": "refs/heads/main",
"rev": "81f0a4377c1218d328e7996636a02faf0597efa0",
"revCount": 9,
"type": "git",
"url": "https://woof.rip/florp/moderation.git"
},
"original": {
"type": "git",
"url": "https://woof.rip/florp/moderation.git"
}
},
"fromYaml": { "fromYaml": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1689549921, "lastModified": 1731966426,
"narHash": "sha256-iX0pk/uB019TdBGlaJEWvBCfydT6sRq+eDcGPifVsCM=", "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
"owner": "SenchoPens", "owner": "SenchoPens",
"repo": "fromYaml", "repo": "fromYaml",
"rev": "11fbbbfb32e3289d3c631e0134a23854e7865c84", "rev": "106af9e2f715e2d828df706c386a685698f3223b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -462,11 +594,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1729104314, "lastModified": 1732021966,
"narHash": "sha256-pZRZsq5oCdJt3upZIU4aslS9XwFJ+/nVtALHIciX/BI=", "narHash": "sha256-mnTbjpdqF0luOkou8ZFi2asa1N3AA2CchR/RqCNmsGE=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", "rev": "3308484d1a443fc5bc92012435d79e80458fe43c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -521,11 +653,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1729551526, "lastModified": 1732793095,
"narHash": "sha256-7LAGY32Xl14OVQp3y6M43/0AtHYYvV6pdyBcp3eoz0s=", "narHash": "sha256-6TrknJ8CpvSSF4gviQSeD+wyj3siRcMvdBKhOXkEMKU=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "5ec753a1fc4454df9285d8b3ec0809234defb975", "rev": "2f7739d01080feb4549524e8f6927669b61c6ee3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -540,7 +672,7 @@
"lix" "lix"
], ],
"nix-eval-jobs": "nix-eval-jobs", "nix-eval-jobs": "nix-eval-jobs",
"nixpkgs": "nixpkgs_2" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1728215710, "lastModified": 1728215710,
@ -558,24 +690,32 @@
"url": "https://git.lix.systems/lix-project/hydra" "url": "https://git.lix.systems/lix-project/hydra"
} }
}, },
"iceshrimp": { "ixx": {
"inputs": { "inputs": {
"flake-utils": [
"nixvim",
"nuschtosSearch",
"flake-utils"
],
"nixpkgs": [ "nixpkgs": [
"nixvim",
"nuschtosSearch",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1718289195, "lastModified": 1729958008,
"narHash": "sha256-xmkExjsTztXW4/AYb3d3Er6Wwg4r7AVwq7rv9E93+Ec=", "narHash": "sha256-EiOq8jF4Z/zQe0QYVc3+qSKxRK//CFHMB84aYrYGwEs=",
"ref": "refs/heads/dev", "owner": "NuschtOS",
"rev": "746c6319d3425ccfacc906535c67951e161996d9", "repo": "ixx",
"revCount": 47, "rev": "9fd01aad037f345350eab2cd45e1946cc66da4eb",
"type": "git", "type": "github"
"url": "https://iceshrimp.dev/iceshrimp/packaging"
}, },
"original": { "original": {
"type": "git", "owner": "NuschtOS",
"url": "https://iceshrimp.dev/iceshrimp/packaging" "ref": "v0.0.6",
"repo": "ixx",
"type": "github"
} }
}, },
"kyouma-www": { "kyouma-www": {
@ -602,58 +742,99 @@
} }
}, },
"lix": { "lix": {
"inputs": { "flake": false,
"flake-compat": "flake-compat_2",
"nix2container": "nix2container",
"nixpkgs": "nixpkgs_3",
"nixpkgs-regression": "nixpkgs-regression",
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": { "locked": {
"lastModified": 1723503926, "lastModified": 1732806742,
"narHash": "sha256-Rosl9iA9MybF5Bud4BTAQ9adbY81aGmPfV8dDBGl34s=", "narHash": "sha256-2RNOVB3UIIxxjiFKrEqSgnSoHK+olbw2o5g/63dDjJ8=",
"rev": "bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2", "rev": "f5754dc90ae9b1207656d0e29ad2704d3ef1e554",
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2.tar.gz?rev=bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2" "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/f5754dc90ae9b1207656d0e29ad2704d3ef1e554.tar.gz?rev=f5754dc90ae9b1207656d0e29ad2704d3ef1e554"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz" "url": "https://git.lix.systems/lix-project/lix/archive/main.tar.gz"
} }
}, },
"lix-module": { "lix-module": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils",
"flakey-profile": "flakey-profile", "flakey-profile": "flakey-profile",
"lix": "lix_2", "lix": [
"firefox",
"eosyn",
"lix"
],
"nixpkgs": [
"firefox",
"eosyn",
"nixpkgs"
]
},
"locked": {
"lastModified": 1732603698,
"narHash": "sha256-Jw2MhzgCCrKV2MJytehG0cCLIAosBX71p8qmQ6XQlR4=",
"rev": "15b999f9c958c475f71fb8c543b9fc2f36ae8730",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/15b999f9c958c475f71fb8c543b9fc2f36ae8730.tar.gz?rev=15b999f9c958c475f71fb8c543b9fc2f36ae8730"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/nixos-module/archive/main.tar.gz"
}
},
"lix-module_2": {
"inputs": {
"flake-utils": "flake-utils_3",
"flakey-profile": "flakey-profile_2",
"lix": "lix_3",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1723510904, "lastModified": 1729360442,
"narHash": "sha256-zNW/rqNJwhq2lYmQf19wJerRuNimjhxHKmzrWWFJYts=", "narHash": "sha256-6U0CyPycIBc04hbYy2hBINnVso58n/ZyywY2BD3hu+s=",
"rev": "622a2253a071a1fb97a4d3c8103a91114acc1140", "rev": "9098ac95768f7006d7e070b88bae76939f6034e6",
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/622a2253a071a1fb97a4d3c8103a91114acc1140.tar.gz?rev=622a2253a071a1fb97a4d3c8103a91114acc1140" "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/9098ac95768f7006d7e070b88bae76939f6034e6.tar.gz?rev=9098ac95768f7006d7e070b88bae76939f6034e6"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz" "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz"
} }
}, },
"lix_2": { "lix_2": {
"flake": false, "inputs": {
"flake-compat": "flake-compat_2",
"nix2container": "nix2container",
"nixpkgs": "nixpkgs_4",
"nixpkgs-regression": "nixpkgs-regression",
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": { "locked": {
"lastModified": 1723503926, "lastModified": 1729298361,
"narHash": "sha256-Rosl9iA9MybF5Bud4BTAQ9adbY81aGmPfV8dDBGl34s=", "narHash": "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=",
"rev": "bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2", "rev": "ad9d06f7838a25beec425ff406fe68721fef73be",
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2.tar.gz?rev=bcaeb6388b8916ac6d1736e3aa2b13313e6a6bd2" "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ad9d06f7838a25beec425ff406fe68721fef73be.tar.gz?rev=ad9d06f7838a25beec425ff406fe68721fef73be"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz" "url": "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz"
}
},
"lix_3": {
"flake": false,
"locked": {
"lastModified": 1729298361,
"narHash": "sha256-hiGtfzxFkDc9TSYsb96Whg0vnqBVV7CUxyscZNhed0U=",
"rev": "ad9d06f7838a25beec425ff406fe68721fef73be",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/ad9d06f7838a25beec425ff406fe68721fef73be.tar.gz?rev=ad9d06f7838a25beec425ff406fe68721fef73be"
},
"original": {
"type": "tarball",
"url": "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz"
} }
}, },
"nix-darwin": { "nix-darwin": {
@ -664,11 +845,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1728901530, "lastModified": 1732603785,
"narHash": "sha256-I9Qd0LnAsEGHtKE9+uVR0iDFmsijWSy7GT0g3jihG4Q=", "narHash": "sha256-AEjWTJwOmSnVYsSJCojKgoguGfFfwel6z/6ud6UFMU8=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "a60ac02f9466f85f092e576fd8364dfc4406b5a6", "rev": "6ab87b7c84d4ee873e937108c4ff80c015a40c7a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -684,7 +865,7 @@
"hydra", "hydra",
"lix" "lix"
], ],
"nix-github-actions": "nix-github-actions", "nix-github-actions": "nix-github-actions_2",
"nixpkgs": [ "nixpkgs": [
"hydra", "hydra",
"nixpkgs" "nixpkgs"
@ -706,6 +887,27 @@
} }
}, },
"nix-github-actions": { "nix-github-actions": {
"inputs": {
"nixpkgs": [
"attic",
"nixpkgs"
]
},
"locked": {
"lastModified": 1729742964,
"narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=",
"owner": "nix-community",
"repo": "nix-github-actions",
"rev": "e04df33f62cdcf93d73e9a04142464753a16db67",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-github-actions",
"type": "github"
}
},
"nix-github-actions_2": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"hydra", "hydra",
@ -745,11 +947,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1729509737, "lastModified": 1732483221,
"narHash": "sha256-8OHgqz+tFo21h3hg4/GHizFPws+MMzpEru/+62Z0E8c=", "narHash": "sha256-kF6rDeCshoCgmQz+7uiuPdREVFuzhIorGOoPXMalL2U=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "cc2d3c0e060f981905d52337340ee6ec8b8eb037", "rev": "45348ad6fb8ac0e8415f6e5e96efe47dd7f39405",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -826,23 +1028,23 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1729357638, "lastModified": 1732617236,
"narHash": "sha256-66RHecx+zohbZwJVEPF7uuwHeqf8rykZTMCTqIrOew4=", "narHash": "sha256-PYkz6U0bSEaEB1al7O1XsqVNeSNS+s3NVclJw7YC43w=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "bb8c2cf7ea0dd2e18a52746b2c3a5b0c73b93c22", "rev": "af51545ec9a44eadf3fe3547610a5cdd882bc34e",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "release-24.05", "ref": "nixpkgs-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1725001927, "lastModified": 1725001927,
"narHash": "sha256-eV+63gK0Mp7ygCR0Oy4yIYSNcum2VQwnZamHxYTNi+M=", "narHash": "sha256-eV+63gK0Mp7ygCR0Oy4yIYSNcum2VQwnZamHxYTNi+M=",
@ -858,7 +1060,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1721931987, "lastModified": 1721931987,
"narHash": "sha256-1Zg8LY0T5EfXtv0Kf4M6SFnjH7Eto4VV+EKJ/YSnhiI=", "narHash": "sha256-1Zg8LY0T5EfXtv0Kf4M6SFnjH7Eto4VV+EKJ/YSnhiI=",
@ -874,13 +1076,13 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1729256560, "lastModified": 1732521221,
"narHash": "sha256-/uilDXvCIEs3C9l73JTACm4quuHUsIHcns1c+cHUJwA=", "narHash": "sha256-2ThgXBUXAE1oFsVATK1ZX9IjPcS4nKFOAjhPNKuiMn0=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "4c2fcb090b1f3e5b47eaa7bd33913b574a11e0a0", "rev": "4633a7c72337ea8fd23a4f2ba3972865e3ec685d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -907,11 +1109,11 @@
"treefmt-nix": "treefmt-nix_2" "treefmt-nix": "treefmt-nix_2"
}, },
"locked": { "locked": {
"lastModified": 1729532160, "lastModified": 1732838896,
"narHash": "sha256-Nxpp4vrnMw9R43iWTfsId8vadk7vQk33duanvIQ3V9w=", "narHash": "sha256-9YfEyCU2wB/aSbtpZ+OHb++xS2Km970Ja33H13oEaWM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "0562e519ec0e69125c5edc917d41bccb54a534fd", "rev": "05331006a42846d6e55129b642485f45f90c9efc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -922,18 +1124,19 @@
}, },
"nuschtosSearch": { "nuschtosSearch": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_4",
"ixx": "ixx",
"nixpkgs": [ "nixpkgs": [
"nixvim", "nixvim",
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1728905062, "lastModified": 1731936508,
"narHash": "sha256-W/lClt0bRgFRO0WFtytX/LEILpPNq+FOjIfESpkeu5c=", "narHash": "sha256-z0BSSf78LkxIrrFXZYmCoRRAxAmxMUKpK7CyxQRvkZI=",
"owner": "NuschtOS", "owner": "NuschtOS",
"repo": "search", "repo": "search",
"rev": "f82d3e1c1c9d1eaeb91878519e2d27b27c66ce84", "rev": "fe07070f811b717a4626d01fab714a87d422a9e1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -942,6 +1145,29 @@
"type": "github" "type": "github"
} }
}, },
"oth": {
"inputs": {
"flake-utils": [
"flake-utils"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1732215904,
"narHash": "sha256-bXXoyQcVMULYOj1KlzbquUyMTyByzmLatIgm0ra/7sk=",
"ref": "refs/heads/main",
"rev": "847cc8493f7f44bd5ada0283d6b96457f4ee5a9b",
"revCount": 1,
"type": "git",
"url": "ssh://forgejo@woof.rip/emily/oth.git"
},
"original": {
"type": "git",
"url": "ssh://forgejo@woof.rip/emily/oth.git"
}
},
"pre-commit-hooks": { "pre-commit-hooks": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -964,17 +1190,21 @@
"disko": "disko", "disko": "disko",
"dns": "dns", "dns": "dns",
"fernglas": "fernglas", "fernglas": "fernglas",
"flake-utils": "flake-utils", "firefox": "firefox",
"flake-utils": "flake-utils_2",
"florp-about": "florp-about",
"florp-branding": "florp-branding",
"florp-moderation": "florp-moderation",
"home-manager": "home-manager", "home-manager": "home-manager",
"hydra": "hydra", "hydra": "hydra",
"iceshrimp": "iceshrimp",
"kyouma-www": "kyouma-www", "kyouma-www": "kyouma-www",
"lix": "lix", "lix": "lix_2",
"lix-module": "lix-module", "lix-module": "lix-module_2",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixos-needsreboot": "nixos-needsreboot", "nixos-needsreboot": "nixos-needsreboot",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_5",
"nixvim": "nixvim", "nixvim": "nixvim",
"oth": "oth",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"stylix": "stylix" "stylix": "stylix"
} }
@ -983,15 +1213,14 @@
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ]
"nixpkgs-stable": "nixpkgs-stable_2"
}, },
"locked": { "locked": {
"lastModified": 1729394972, "lastModified": 1732575825,
"narHash": "sha256-fADlzOzcSaGsrO+THUZ8SgckMMc7bMQftztKFCLVcFI=", "narHash": "sha256-xtt95+c7OUMoqZf4OvA/7AemiH3aVuWHQbErYQoPwFk=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "c504fd7ac946d7a1b17944d73b261ca0a0b226a5", "rev": "3433ea14fbd9e6671d0ff0dd45ed15ee4c156ffa",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1007,7 +1236,7 @@
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"flake-compat": "flake-compat_4", "flake-compat": "flake-compat_4",
"flake-utils": "flake-utils_4", "flake-utils": "flake-utils_5",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"home-manager": [ "home-manager": [
"home-manager" "home-manager"
@ -1015,17 +1244,17 @@
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"systems": "systems_4", "systems": "systems_5",
"tinted-foot": "tinted-foot", "tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",
"tinted-tmux": "tinted-tmux" "tinted-tmux": "tinted-tmux"
}, },
"locked": { "locked": {
"lastModified": 1729380793, "lastModified": 1732608183,
"narHash": "sha256-TV6NYBUqTHI9t5fqNu4Qyr4BZUD2yGxAn3E+d5/mqaI=", "narHash": "sha256-T5k5ill+PNIEW6KuS4CpUacMtZNJe2J2q5eBOF4xWuU=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "fb9399b7e2c855f42dae76a363bab28d4f24aa8d", "rev": "7689e621f87bce7b6ab1925dfd70ad1f4c80f334",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1094,19 +1323,35 @@
"type": "github" "type": "github"
} }
}, },
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": { "tinted-foot": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696725948, "lastModified": 1726913040,
"narHash": "sha256-65bz2bUL/yzZ1c8/GQASnoiGwaF8DczlxJtzik1c0AU=", "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-foot", "repo": "tinted-foot",
"rev": "eedbcfa30de0a4baa03e99f5e3ceb5535c2755ce", "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-foot", "repo": "tinted-foot",
"rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
"type": "github" "type": "github"
} }
}, },
@ -1130,11 +1375,11 @@
"tinted-tmux": { "tinted-tmux": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696725902, "lastModified": 1729501581,
"narHash": "sha256-wDPg5elZPcQpu7Df0lI5O8Jv4A3T6jUQIVg63KDU+3Q=", "narHash": "sha256-1ohEFMC23elnl39kxWnjzH1l2DFWWx4DhFNNYDTYt54=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-tmux", "repo": "tinted-tmux",
"rev": "c02050bebb60dbb20cb433cd4d8ce668ecc11ba7", "rev": "f0e7f7974a6441033eb0a172a0342e96722b4f14",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -1173,11 +1418,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1729242555, "lastModified": 1732643199,
"narHash": "sha256-6jWSWxv2crIXmYSEb3LEVsFkCkyVHNllk61X4uhqfCs=", "narHash": "sha256-uI7TXEb231o8dkwB5AUCecx3AQtosRmL6hKgnckvjps=",
"owner": "numtide", "owner": "numtide",
"repo": "treefmt-nix", "repo": "treefmt-nix",
"rev": "d986489c1c757f6921a48c1439f19bfb9b8ecab5", "rev": "84637a7ab04179bdc42aa8fd0af1909fba76ad0c",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -21,6 +21,22 @@
url = "github:wobcom/fernglas"; url = "github:wobcom/fernglas";
inputs.flake-utils.follows = "flake-utils"; inputs.flake-utils.follows = "flake-utils";
}; };
firefox = {
url = "git+https://woof.rip/mikael/firefox.git";
inputs.nixpkgs.follows = "nixpkgs";
};
florp-about = {
url = "git+https://woof.rip/florp/about.git";
inputs.nixpkgs.follows = "nixpkgs";
};
florp-branding = {
url = "git+https://woof.rip/florp/branding.git";
inputs.nixpkgs.follows = "nixpkgs";
};
florp-moderation = {
url = "git+https://woof.rip/florp/moderation.git";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -29,18 +45,14 @@
url = "git+https://git.lix.systems/lix-project/hydra?ref=main&rev=799441dcf6d595efb0def686ca0815aef398627b"; url = "git+https://git.lix.systems/lix-project/hydra?ref=main&rev=799441dcf6d595efb0def686ca0815aef398627b";
inputs.lix.follows = "lix"; inputs.lix.follows = "lix";
}; };
iceshrimp = {
url = "git+https://iceshrimp.dev/iceshrimp/packaging";
inputs.nixpkgs.follows = "nixpkgs";
};
kyouma-www = { kyouma-www = {
url = "git+https://woof.rip/emily/kyouma-net.git"; url = "git+https://woof.rip/emily/kyouma-net.git";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils"; inputs.flake-utils.follows = "flake-utils";
}; };
lix.url = "https://git.lix.systems/lix-project/lix/archive/2.91.0.tar.gz"; lix.url = "https://git.lix.systems/lix-project/lix/archive/2.91.1.tar.gz";
lix-module = { lix-module = {
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.0.tar.gz"; url = "https://git.lix.systems/lix-project/nixos-module/archive/2.91.1-1.tar.gz";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixos-needsreboot = { nixos-needsreboot = {
@ -52,6 +64,11 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
inputs.home-manager.follows = "home-manager"; inputs.home-manager.follows = "home-manager";
}; };
oth = {
url = "git+ssh://forgejo@woof.rip/emily/oth.git";
inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
};
sops-nix = { sops-nix = {
url = "github:Mic92/sops-nix"; url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";

View file

@ -162,7 +162,7 @@ in {
style.package = with pkgs; [ style.package = with pkgs; [
libsForQt5.qtstyleplugin-kvantum libsForQt5.qtstyleplugin-kvantum
qt6Packages.qtstyleplugin-kvantum qt6Packages.qtstyleplugin-kvantum
(catppuccin-kvantum.override { accent = "Mauve"; variant = "Macchiato"; }) (catppuccin-kvantum.override { accent = "mauve"; variant = "macchiato"; })
]; ];
}; };
gtk.iconTheme.name = "Adwaita"; gtk.iconTheme.name = "Adwaita";

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, ... }: { { config, inputs, lib, pkgs, ... }: {
config.home-manager.users.emily = lib.mkIf (config.kyouma.graphical.compositor == "hyprland") { config.home-manager.users.emily = lib.mkIf (config.kyouma.graphical.compositor == "hyprland") {
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
enable = true; enable = true;
@ -9,6 +9,8 @@
notifysend = "${pkgs.libnotify}/bin/notify-send"; notifysend = "${pkgs.libnotify}/bin/notify-send";
dolphin = "${pkgs.libsForQt5.dolphin}/bin/dolphin"; dolphin = "${pkgs.libsForQt5.dolphin}/bin/dolphin";
firefox = "${pkgs.firefox}/bin/firefox"; firefox = "${pkgs.firefox}/bin/firefox";
# currently broken
#firefox = "${inputs.firefox.packages.${pkgs.system}.firefox}/bin/firefox";
brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl"; brightnessctl = "${pkgs.brightnessctl}/bin/brightnessctl";
screenshot = "~/.local/bin/hypr/screenshot.sh"; screenshot = "~/.local/bin/hypr/screenshot.sh";
rofi = "${pkgs.rofi-wayland}/bin/rofi"; rofi = "${pkgs.rofi-wayland}/bin/rofi";

View file

@ -2,28 +2,40 @@
cfg = config.kyouma.nginx; cfg = config.kyouma.nginx;
extraConfig = '' extraConfig = ''
add_header Strict-Transport-Security $hsts_header; add_header Strict-Transport-Security $hsts_header;
#add_header Content-Security-Policy "script-src 'self'; object-src 'none'; base-uri 'none';" always; add_header Alt-Svc 'h3=":443"; ma=7776000; persist=1, h2=":443"; ma=7776000; persist=1';
add_header X-Content-Type-Options "nosniff" always; #add_header Content-Security-Policy "script-src 'self'; object-src 'none'; base-uri 'none';" always;
add_header X-XSS-Protection "1; mode=block" always; add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always; add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "same-origin" always; add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "same-origin" always;
''; '';
createHost = vhostName: vhostCfg: { createHost = vhostName: vhostCfg: {
extraConfig = (lib.optionalString (builtins.hasAttr "extraConfig" vhostCfg) vhostCfg.extraConfig) + "\n" + extraConfig; extraConfig = lib.optionalString (vhostCfg ? "extraConfig") (
vhostCfg.extraConfig + "\n" + extraConfig
) + lib.optionalString (
if (vhostCfg ? "verifyClientCert") then
vhostCfg.verifyClientCert
else false
) ''
ssl_client_certificate ${./kyouma_Root_CA.pem};
ssl_verify_client on;
ssl_verify_depth 1;
'';
forceSSL = true; forceSSL = true;
#kTLS = true;
#http3 = true;
#quic = true;
} // } //
lib.optionalAttrs (!(builtins.hasAttr "useACMEHost" vhostCfg)) { lib.optionalAttrs (!(vhostCfg ? "useACMEHost")) {
enableACME = true; enableACME = true;
} // } //
lib.optionalAttrs (builtins.hasAttr "redirectTo" vhostCfg) { lib.optionalAttrs (vhostCfg ? "redirectTo") {
enableACME = false; enableACME = false;
useACMEHost = vhostCfg.redirectTo; useACMEHost = vhostCfg.redirectTo;
globalRedirect = vhostCfg.redirectTo; globalRedirect = vhostCfg.redirectTo;
} // } //
(builtins.removeAttrs vhostCfg [ "redirectTo" "extraConfig" ]); lib.optionalAttrs (!vhostCfg ? "disableHttp3") {
http3 = true;
quic = true;
} //
(builtins.removeAttrs vhostCfg [ "redirectTo" "extraConfig" "verifyClientCert" "disableHttp3" ]);
in { in {
options = { options = {
@ -38,17 +50,21 @@ in {
}; };
config = { config = {
services.nginx.virtualHosts = lib.optionalAttrs (cfg.virtualHosts != null) ( services.nginx.virtualHosts = lib.optionalAttrs (cfg.virtualHosts != null) (
builtins.mapAttrs (createHost) cfg.virtualHosts) // builtins.mapAttrs (createHost) cfg.virtualHosts
lib.optionalAttrs (cfg.defaultForbidden != null) { ) // lib.optionalAttrs (cfg.defaultForbidden != null) {
"redirect" = { "redirect" = {
default = true; quic = true;
forceSSL = true; http3 = true;
reuseport = true; # reuseport has to be specified on the quic listener
useACMEHost = cfg.defaultForbidden; # when using worker_processes auto;
extraConfig = '' reuseport = true;
return 403; default = true;
''; forceSSL = true;
}; useACMEHost = cfg.defaultForbidden;
extraConfig = ''
return 403;
'';
}; };
};
}; };
} }

View file

@ -0,0 +1,192 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
47:94:9e:44:65:f4:61:f8:aa:b3:c1:7b:86:38:21:d9:88:a5:88:f0
Signature Algorithm: sha256WithRSAEncryption
Issuer: CN=kyouma Root CA
Validity
Not Before: Jun 21 14:02:26 2024 GMT
Not After : Jun 21 14:02:26 2044 GMT
Subject: CN=kyouma Root CA
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (7680 bit)
Modulus:
00:f9:d0:a3:4b:d9:77:e3:ec:b4:46:8e:3f:1f:a4:
39:22:60:d8:ad:e9:1e:fe:ad:17:f8:30:d6:f6:fa:
e9:62:f7:36:25:07:e9:6c:83:91:42:0f:e2:53:f1:
ca:70:da:26:7d:bf:bb:1d:d5:4d:5e:99:82:99:39:
97:f3:c3:7d:f9:0d:08:e8:d4:ae:fc:45:88:98:8e:
a3:bc:2a:bd:16:67:32:59:08:59:eb:a8:de:a6:a7:
77:9d:f9:1a:c6:7f:76:92:3d:d7:56:74:2b:a3:5a:
97:8f:05:ab:3b:dc:92:61:2e:7f:95:b1:5c:04:da:
1e:2e:b9:de:7b:16:b2:85:b4:b4:5a:48:34:9a:bb:
18:0d:0a:0a:34:91:f8:8f:f3:79:46:a6:c4:ee:aa:
93:88:03:cf:43:a2:ba:1e:bc:65:f1:78:d8:ce:d8:
2b:fb:db:33:d6:37:ad:d4:9d:44:38:ff:b5:0d:dc:
08:61:2c:fb:f0:86:b2:ef:ff:a8:4f:63:28:13:49:
f8:21:4e:cb:22:98:54:de:e7:b4:e2:b6:14:c9:c5:
59:04:82:04:a2:39:3c:61:f5:91:99:ff:ac:6e:80:
9a:d2:22:7d:51:fb:ad:a3:6a:4c:14:a8:e3:28:d9:
22:ac:c8:3d:34:17:5a:40:ce:8d:3c:52:e7:e1:e9:
d4:75:0d:3f:b8:dd:d3:d2:56:25:92:fa:75:87:81:
fe:59:4a:82:53:d5:e7:03:39:c0:07:84:73:70:d0:
fc:fe:3f:06:e0:f9:0f:59:22:74:05:13:65:58:5a:
a8:1d:7b:52:4f:47:ed:be:26:57:47:49:57:d5:7f:
34:c7:3c:0f:55:d4:17:57:8a:0e:bb:f5:3a:c7:77:
f1:7d:06:49:a9:a8:dd:18:0e:a2:97:52:c8:49:e5:
39:c7:31:5d:07:c3:58:ed:8e:ae:c7:7c:1b:db:8d:
dc:a0:c3:e3:f5:c0:98:35:cf:fc:92:a0:a6:f3:0f:
b1:18:95:c0:01:eb:1d:96:8d:02:7b:9a:dc:29:5d:
59:f1:2a:dc:53:0e:6b:2b:6b:5d:36:03:a1:bd:e4:
e6:b4:1f:5a:66:67:13:4a:2c:7f:56:c9:75:5c:fe:
42:20:24:51:18:bb:ea:30:12:8f:88:d1:ad:fe:eb:
59:92:8d:1e:be:ff:3e:6e:f2:5a:d9:8c:20:f4:35:
ed:bc:01:47:21:d3:10:b9:5d:fe:6a:8e:e0:a3:e3:
e5:6f:ac:8b:fc:61:d0:75:a8:a3:92:1f:2c:cc:c1:
15:17:36:3b:05:ab:58:76:be:63:9d:30:5d:ed:7d:
83:0c:b7:24:8f:10:a8:90:02:ee:68:81:05:cd:d9:
4f:2e:cc:ef:97:62:d1:75:6b:82:f3:d0:34:56:d3:
59:7e:d9:d3:7d:93:ce:1b:17:de:fd:18:4b:e6:50:
72:77:88:60:dd:ff:5e:95:05:61:fe:d8:31:dd:34:
1e:e1:6d:61:1e:80:73:05:3e:3b:22:c2:34:07:48:
9b:0e:06:8d:a6:81:c4:4d:e9:4d:5d:df:e1:04:cd:
5b:85:6e:b2:12:aa:1b:cd:bd:4e:7e:53:ea:59:49:
af:11:70:b3:11:87:0f:af:2f:99:ce:e9:69:db:6d:
d0:5a:14:1a:95:2f:2f:db:bf:36:62:e1:99:ff:7c:
b8:b9:5c:4e:79:33:61:ee:db:4b:6f:40:7d:49:b2:
6e:e1:65:9d:f6:45:fe:27:14:24:82:5d:f6:a4:38:
01:ac:47:54:da:b6:02:c1:ad:79:71:b6:93:64:ec:
a4:06:7b:d6:5e:1c:da:7f:40:16:47:65:47:24:2a:
8b:77:32:49:89:c4:9f:26:d4:f9:a6:ba:e6:42:aa:
74:fd:7e:1e:d1:75:95:5c:5c:d8:d4:bb:75:05:79:
10:7a:df:5a:2b:69:9b:75:28:cb:b5:4e:48:3e:a3:
aa:21:04:95:8f:62:3b:46:2f:07:d0:9e:1c:50:9b:
3d:ba:6d:1f:c2:a0:41:7f:47:43:57:ef:92:31:47:
4a:a2:91:65:43:5c:c1:2b:fd:26:2d:be:41:a7:98:
7a:8f:52:89:5f:81:ff:48:7d:04:2a:b8:4d:50:91:
f5:af:18:33:44:f2:55:5f:68:87:33:d8:e6:4f:5d:
b9:92:ca:06:51:f3:e0:b1:5b:6f:a0:52:fe:6e:98:
22:01:5f:c2:fb:45:59:02:67:62:6f:74:2b:79:62:
e7:5a:13:a8:db:fd:a2:64:b1:0b:49:2f:f4:61:35:
a0:b6:12:2c:ec:24:19:9f:0c:14:85:05:b5:e1:c1:
9e:4e:87:a4:88:c9:79:65:1d:12:ac:89:e6:bc:ed:
6b:58:90:fd:95:40:3f:2e:ba:ff:b8:52:5d:60:98:
32:b9:20:38:a5:08:da:a1:fc:38:89:3c:f1:de:38:
cf:60:d8:69:a1:4b:88:51:f7:31:b8:fc:56:dc:56:
3a:7a:39:c5:03:23:2a:8f:fa:ab:92:7a:b6:37:da:
c1:9f:55:e7:31:b1:c5:be:31:60:08:c2:33:30:ec:
cf
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
7B:C0:C6:7B:04:C4:66:0C:CD:32:FF:B0:6F:E1:D9:51:FD:1C:EE:B7
X509v3 Basic Constraints: critical
CA:TRUE
X509v3 Key Usage: critical
Certificate Sign, CRL Sign
Signature Algorithm: sha256WithRSAEncryption
Signature Value:
58:b3:2d:00:8e:c2:72:5b:ed:91:8e:3c:98:66:6a:e4:61:c3:
0f:d1:51:98:0c:64:79:3d:01:ac:8a:38:7f:af:fc:80:31:83:
86:a8:79:b9:0f:18:6d:2e:3a:ef:0a:c0:b1:30:39:7e:a4:3d:
ed:4e:35:3e:9e:f1:a3:29:dd:cc:01:1e:62:6b:ed:5b:77:31:
b3:4c:91:1d:69:70:20:44:87:e0:37:17:a0:ba:c4:e5:57:c5:
90:1a:f2:1e:0d:ac:aa:30:11:c3:da:1c:3f:3a:28:b5:6d:12:
ac:45:b6:6c:f0:b2:b2:6e:f0:55:33:8e:29:10:ac:9e:61:ac:
35:ec:ed:c7:e3:51:c2:86:52:10:7a:9c:f6:22:5d:65:65:18:
62:b7:e9:6e:be:64:46:db:dc:15:45:eb:1a:42:45:83:d7:aa:
dd:63:24:4a:ed:b9:d5:35:86:27:22:33:6a:26:4b:32:0a:15:
75:18:19:58:e9:6b:b4:84:ac:00:a3:78:d3:9d:7d:25:3c:5e:
51:7f:01:ca:90:d1:40:2b:d2:45:e1:4f:fb:6e:8d:2e:cc:04:
07:34:07:91:c6:8c:4f:a5:e4:7d:dd:78:0f:b0:9d:01:9d:6e:
89:16:6d:3a:94:dd:38:57:bc:49:c2:e1:b5:aa:54:8f:d1:8b:
13:db:35:2f:d1:80:5e:45:fb:53:60:61:d5:c3:e1:9c:21:60:
a3:83:34:e6:9e:bc:86:70:fe:36:8b:35:55:28:e0:f4:b0:81:
ed:37:59:0e:7a:f6:a7:66:a1:b6:36:45:30:95:c8:80:d6:40:
a9:12:bf:47:b1:33:09:fa:89:d4:9f:c2:57:75:6a:47:dd:87:
3f:b3:d1:3d:13:bc:5e:82:ea:5f:3a:dc:46:35:1e:1f:83:40:
1c:1d:5e:ba:37:18:a3:75:2f:60:a7:84:67:9b:79:17:ad:fb:
2a:5b:d8:84:5d:f2:ff:cc:81:4c:08:e4:17:ec:b7:cf:ac:4c:
0f:91:8a:4c:fa:91:ed:24:39:f9:04:3a:18:b0:b1:c3:57:ed:
9b:f1:cf:ab:bf:07:f1:52:ef:57:de:0a:76:e7:e4:c4:5f:69:
93:71:0c:d4:3f:23:12:55:8c:3d:e6:79:b3:3c:5e:86:ac:1f:
5e:7f:ec:96:d8:da:4d:c9:40:32:ee:b5:cb:6e:86:27:49:45:
e6:89:30:80:fa:ba:ef:21:42:92:ba:f8:a7:51:16:61:04:13:
da:87:ac:c5:9c:c0:19:55:80:2d:4a:32:bb:30:12:0b:49:15:
ec:1e:5b:23:d4:d2:a3:4e:c6:22:19:bc:e2:ba:23:67:88:4c:
54:d0:bf:10:61:91:d9:eb:f7:d7:bc:89:ee:83:0d:a3:2c:81:
a4:c2:38:58:c3:50:b7:fe:3f:f2:bc:a2:f0:52:9d:04:1f:c2:
85:bd:d6:06:77:30:7b:90:3d:29:92:dc:41:a9:40:4b:bb:7c:
b7:91:07:65:2b:03:af:e4:a0:18:ab:a5:76:00:bc:10:e8:21:
41:c7:d7:53:80:41:21:67:af:fe:d1:9d:14:4c:a9:7e:16:1d:
4b:61:a4:f4:b1:e8:88:fe:c4:f1:60:3e:6d:d5:a9:90:14:3e:
95:5d:7d:f0:7b:1e:af:5f:80:63:a8:ce:b1:a7:a1:b2:9a:10:
f7:d9:e7:00:fa:33:d7:61:c9:35:b1:c2:c9:60:0b:a5:1d:08:
a8:b2:1d:56:15:b8:b9:5e:36:b3:df:6a:76:6c:5e:9d:a7:e5:
54:dc:1a:6c:c3:34:f2:c2:c6:ee:7a:68:49:a3:41:d6:54:34:
78:c9:2b:d2:d2:52:94:23:35:d7:c4:bf:c6:e0:21:18:4f:7a:
7a:be:e8:ab:34:fa:f7:4d:1a:4b:3c:37:e9:5f:1c:76:b1:6d:
96:70:f5:f5:db:b4:15:ba:2c:71:25:80:b3:98:4a:d3:1a:8d:
0e:69:24:de:e3:0c:38:64:82:6e:54:d1:74:47:e5:e5:69:b1:
c1:04:12:72:8a:3f:71:c0:9f:dc:db:ba:0e:e8:3d:52:4a:23:
56:04:9b:8c:eb:4f:62:19:7f:f5:bd:1e:48:d9:7f:89:84:3c:
8d:f5:67:21:d6:81:ee:5a:cd:fa:c2:53:60:a0:97:1e:80:a2:
dc:96:89:e6:99:d9:9d:48:23:a0:07:9a:02:06:29:04:eb:03:
79:06:6b:a0:41:98:d2:8f:2d:b4:e3:cb:c2:5e:78:74:a1:92:
29:c9:7d:07:03:ca:3f:8c:f5:71:f0:c4:7d:6a:1b:ac:33:37:
4f:03:54:44:46:b6:76:1c:55:8a:7d:7b:e5:58:4e:a9:f8:e1:
fe:7b:f3:a2:f8:e6:3b:e0:0b:5d:47:a8:b7:aa:f8:f3:c0:65:
b0:e4:1c:22:8f:9e:b9:d1:8f:a6:4a:a4:28:6f:6c:27:31:49:
58:c0:4d:80:3b:e3:e2:22:aa:ec:4e:ba:a5:0d:9e:b8:17:8c:
6b:4e:2d:37:6a:cc:f3:2d:0d:6b:34:b4:00:eb:ce:31:0e:a5:
c4:85:cd:1e:16:0b
-----BEGIN CERTIFICATE-----
MIIIgjCCBKqgAwIBAgIUR5SeRGX0Yfiqs8F7hjgh2YiliPAwDQYJKoZIhvcNAQEL
BQAwGTEXMBUGA1UEAwwOa3lvdW1hIFJvb3QgQ0EwHhcNMjQwNjIxMTQwMjI2WhcN
NDQwNjIxMTQwMjI2WjAZMRcwFQYDVQQDDA5reW91bWEgUm9vdCBDQTCCA+IwDQYJ
KoZIhvcNAQEBBQADggPPADCCA8oCggPBAPnQo0vZd+PstEaOPx+kOSJg2K3pHv6t
F/gw1vb66WL3NiUH6WyDkUIP4lPxynDaJn2/ux3VTV6Zgpk5l/PDffkNCOjUrvxF
iJiOo7wqvRZnMlkIWeuo3qand535GsZ/dpI911Z0K6Nal48FqzvckmEuf5WxXATa
Hi653nsWsoW0tFpINJq7GA0KCjSR+I/zeUamxO6qk4gDz0Oiuh68ZfF42M7YK/vb
M9Y3rdSdRDj/tQ3cCGEs+/CGsu//qE9jKBNJ+CFOyyKYVN7ntOK2FMnFWQSCBKI5
PGH1kZn/rG6AmtIifVH7raNqTBSo4yjZIqzIPTQXWkDOjTxS5+Hp1HUNP7jd09JW
JZL6dYeB/llKglPV5wM5wAeEc3DQ/P4/BuD5D1kidAUTZVhaqB17Uk9H7b4mV0dJ
V9V/NMc8D1XUF1eKDrv1Osd38X0GSamo3RgOopdSyEnlOccxXQfDWO2Orsd8G9uN
3KDD4/XAmDXP/JKgpvMPsRiVwAHrHZaNAnua3CldWfEq3FMOaytrXTYDob3k5rQf
WmZnE0osf1bJdVz+QiAkURi76jASj4jRrf7rWZKNHr7/Pm7yWtmMIPQ17bwBRyHT
ELld/mqO4KPj5W+si/xh0HWoo5IfLMzBFRc2OwWrWHa+Y50wXe19gwy3JI8QqJAC
7miBBc3ZTy7M75di0XVrgvPQNFbTWX7Z032TzhsX3v0YS+ZQcneIYN3/XpUFYf7Y
Md00HuFtYR6AcwU+OyLCNAdImw4GjaaBxE3pTV3f4QTNW4VushKqG829Tn5T6llJ
rxFwsxGHD68vmc7padtt0FoUGpUvL9u/NmLhmf98uLlcTnkzYe7bS29AfUmybuFl
nfZF/icUJIJd9qQ4AaxHVNq2AsGteXG2k2TspAZ71l4c2n9AFkdlRyQqi3cySYnE
nybU+aa65kKqdP1+HtF1lVxc2NS7dQV5EHrfWitpm3Uoy7VOSD6jqiEElY9iO0Yv
B9CeHFCbPbptH8KgQX9HQ1fvkjFHSqKRZUNcwSv9Ji2+QaeYeo9SiV+B/0h9BCq4
TVCR9a8YM0TyVV9ohzPY5k9duZLKBlHz4LFbb6BS/m6YIgFfwvtFWQJnYm90K3li
51oTqNv9omSxC0kv9GE1oLYSLOwkGZ8MFIUFteHBnk6HpIjJeWUdEqyJ5rzta1iQ
/ZVAPy66/7hSXWCYMrkgOKUI2qH8OIk88d44z2DYaaFLiFH3Mbj8VtxWOno5xQMj
Ko/6q5J6tjfawZ9V5zGxxb4xYAjCMzDszwIDAQABo0IwQDAdBgNVHQ4EFgQUe8DG
ewTEZgzNMv+wb+HZUf0c7rcwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMC
AQYwDQYJKoZIhvcNAQELBQADggPBAFizLQCOwnJb7ZGOPJhmauRhww/RUZgMZHk9
AayKOH+v/IAxg4aoebkPGG0uOu8KwLEwOX6kPe1ONT6e8aMp3cwBHmJr7Vt3MbNM
kR1pcCBEh+A3F6C6xOVXxZAa8h4NrKowEcPaHD86KLVtEqxFtmzwsrJu8FUzjikQ
rJ5hrDXs7cfjUcKGUhB6nPYiXWVlGGK36W6+ZEbb3BVF6xpCRYPXqt1jJErtudU1
hiciM2omSzIKFXUYGVjpa7SErACjeNOdfSU8XlF/AcqQ0UAr0kXhT/tujS7MBAc0
B5HGjE+l5H3deA+wnQGdbokWbTqU3ThXvEnC4bWqVI/RixPbNS/RgF5F+1NgYdXD
4ZwhYKODNOaevIZw/jaLNVUo4PSwge03WQ569qdmobY2RTCVyIDWQKkSv0exMwn6
idSfwld1akfdhz+z0T0TvF6C6l863EY1Hh+DQBwdXro3GKN1L2CnhGebeRet+ypb
2IRd8v/MgUwI5Bfst8+sTA+Rikz6ke0kOfkEOhiwscNX7Zvxz6u/B/FS71feCnbn
5MRfaZNxDNQ/IxJVjD3mebM8XoasH15/7JbY2k3JQDLutctuhidJReaJMID6uu8h
QpK6+KdRFmEEE9qHrMWcwBlVgC1KMrswEgtJFeweWyPU0qNOxiIZvOK6I2eITFTQ
vxBhkdnr99e8ie6DDaMsgaTCOFjDULf+P/K8ovBSnQQfwoW91gZ3MHuQPSmS3EGp
QEu7fLeRB2UrA6/koBirpXYAvBDoIUHH11OAQSFnr/7RnRRMqX4WHUthpPSx6Ij+
xPFgPm3VqZAUPpVdffB7Hq9fgGOozrGnobKaEPfZ5wD6M9dhyTWxwslgC6UdCKiy
HVYVuLleNrPfanZsXp2n5VTcGmzDNPLCxu56aEmjQdZUNHjJK9LSUpQjNdfEv8bg
IRhPenq+6Ks0+vdNGks8N+lfHHaxbZZw9fXbtBW6LHElgLOYStMajQ5pJN7jDDhk
gm5U0XRH5eVpscEEEnKKP3HAn9zbug7oPVJKI1YEm4zrT2IZf/W9HkjZf4mEPI31
ZyHWge5azfrCU2Cglx6AotyWieaZ2Z1II6AHmgIGKQTrA3kGa6BBmNKPLbTjy8Je
eHShkinJfQcDyj+M9XHwxH1qG6wzN08DVERGtnYcVYp9e+VYTqn44f5786L45jvg
C11HqLeq+PPAZbDkHCKPnrnRj6ZKpChvbCcxSVjATYA74+IiquxOuqUNnrgXjGtO
LTdqzPMtDWs0tADrzjEOpcSFzR4WCw==
-----END CERTIFICATE-----

View file

@ -0,0 +1,72 @@
{ config, lib, options, pkgs, ... }: let
cfg = config.kyouma.restic;
in {
options.kyouma.restic = let
inherit (lib) mkOption types;
in {
inherit (options.services.restic.backups.type.getSubOptions [])
timerConfig backupPrepareCommand backupCleanupCommand;
enable = lib.mkEnableOption "Enable restic backup";
paths = mkOption {
description = "paths to backup";
type = with types; listOf path;
default = [];
};
pruneOpts = mkOption {
description = "paths to backup";
type = with types; listOf str;
default = [
"--keep-hourly 24"
"--keep-daily 14"
"--keep-weekly 8"
"--keep-monthly 12"
];
};
remote = mkOption {
description = "restic remote to use";
type = types.nonEmptyStr;
default = "zh3485.rsync.net";
};
remoteUser = mkOption {
description = "remote ssh user";
type = types.nonEmptyStr;
default = "";
};
user = mkOption {
description = "user who runs the backup job";
type = types.nonEmptyStr;
default = "root";
};
repo = mkOption {
description = "restic repo";
type = types.nonEmptyStr;
default = "${config.networking.hostName}-backup";
};
};
config = lib.mkIf cfg.enable {
sops.secrets."restic/${cfg.remoteUser}/password" = {
sopsFile = ../../secrets/restic/${cfg.remoteUser}.yaml;
};
sops.secrets."restic/${cfg.remoteUser}/id_ed25519" = {
sopsFile = ../../secrets/restic/${cfg.remoteUser}.yaml;
};
services.restic.backups."${config.networking.hostName}-${cfg.remote}" = {
inherit (cfg) paths user pruneOpts timerConfig backupPrepareCommand backupCleanupCommand;
initialize = true;
repository = "sftp:${cfg.remoteUser}@${cfg.remote}:${cfg.repo}";
passwordFile = config.sops.secrets."restic/${cfg.remoteUser}/password".path;
extraBackupArgs = [
"--compression=max"
"--pack-size=128"
"--read-concurrency=8"
];
extraOptions = let
knownHost = pkgs.writeText "${cfg.remote}-known-host" (builtins.readFile ./${cfg.remote}/ssh_host_ed25519_key.pub);
sshKey = config.sops.secrets."restic/${cfg.remoteUser}/id_ed25519".path;
in [
"sftp.command='ssh ${cfg.remoteUser}@${cfg.remote} -i ${sshKey} -o UserKnownHostsFile=${knownHost} -s sftp'"
];
};
};
}

View file

@ -0,0 +1 @@
zh3485.rsync.net ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJtclizeBy1Uo3D86HpgD3LONGVH0CJ0NT+YfZlldAJd

View file

@ -0,0 +1,7 @@
{
akkoma-frontends
}:
akkoma-frontends.admin-fe.overrideAttrs {
patches = [ ./disable-options.patch ];
}

View file

@ -0,0 +1,12 @@
diff --git a/config/prod.env.js b/config/prod.env.js
index 7acb93a2..ea500e99 100644
--- a/config/prod.env.js
+++ b/config/prod.env.js
@@ -2,6 +2,6 @@ module.exports = {
NODE_ENV: '"production"',
ENV_CONFIG: '"prod"',
BASE_API: '"https://api-prod"',
- DISABLED_FEATURES: '[""]',
+ DISABLED_FEATURES: '["settings","media-proxy-cache","relays"]',
ASSETS_PUBLIC_PATH: '/pleroma/admin/'
}

View file

@ -0,0 +1,53 @@
{
akkoma-frontends,
fetchFromGitea,
fetchYarnDeps
}:
akkoma-frontends.akkoma-fe.overrideAttrs (let
src = fetchFromGitea {
domain = "git.sakamoto.pl";
owner = "domi";
repo = "akkoma-fe";
rev = "5f0339ce005ccb12365128089edb5fd77f60841b";
hash = "sha256-AHmJyOFmQZXmNMMsp8ONm9Itns1H/idEKl8+sxn2RSA=";
};
offlineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
hash = "sha256-7WB6nmxNckMdftKds2OgD2kClvCCT/I5vmthV0jrkSs=";
};
in {
version = "unstable-2024-07-20";
pname = "akkoma-fe-domi";
inherit src offlineCache;
postPatch = ''
# Build scripts assume to be used within a Git repository checkout
substituteInPlace src/modules/instance.js \
--replace-fail "widenTimeline: true" 'widenTimeline: "50%"'
substituteInPlace src/modules/config.js \
--replace-fail "streaming: false" "streaming: true" \
--replace-fail "useStreamingApi: false" "useStreamingApi: true" \
--replace-fail "webPushNotifications: false" "webPushNotifications: true" \
--replace-fail "postLanguage: undefined" 'postLanguage: "en"'
substituteInPlace src/i18n/en.json \
--replace-fail "meow" "florp" \
--replace-fail "Meow" "Florp"
sed -E -i '/^let commitHash =/,/;$/clet commitHash = "${builtins.substring 0 7 src.rev}";' \
build/webpack.prod.conf.js
'';
configurePhase = ''
runHook preConfigure
export HOME="$(mktemp -d)"
yarn config --offline set yarn-offline-mirror ${offlineCache}
fixup-yarn-lock yarn.lock
yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
runHook postConfigure
'';
})

View file

@ -5,6 +5,7 @@ primary_region = 'ams'
image = 'registry.fly.io/build-worker-kyoumanet:latest' image = 'registry.fly.io/build-worker-kyoumanet:latest'
[processes] [processes]
bw-00 = '/entrypoint.sh'
bw-01 = '/entrypoint.sh' bw-01 = '/entrypoint.sh'
bw-02 = '/entrypoint.sh' bw-02 = '/entrypoint.sh'
bw-03 = '/entrypoint.sh' bw-03 = '/entrypoint.sh'
@ -14,28 +15,34 @@ primary_region = 'ams'
bw-07 = '/entrypoint.sh' bw-07 = '/entrypoint.sh'
bw-08 = '/entrypoint.sh' bw-08 = '/entrypoint.sh'
[[mounts]]
source = 'bw00'
destination = '/mnt/data'
initial_size = '256GB'
processes = ['bw-00']
[[mounts]] [[mounts]]
source = 'bw01' source = 'bw01'
destination = '/mnt/data' destination = '/mnt/data'
initial_size = '128GB' initial_size = '256GB'
processes = ['bw-01'] processes = ['bw-01']
[[mounts]] [[mounts]]
source = 'bw02' source = 'bw02'
destination = '/mnt/data' destination = '/mnt/data'
initial_size = '128GB' initial_size = '256GB'
processes = ['bw-02'] processes = ['bw-02']
[[mounts]] [[mounts]]
source = 'bw03' source = 'bw03'
destination = '/mnt/data' destination = '/mnt/data'
initial_size = '128GB' initial_size = '256GB'
processes = ['bw-03'] processes = ['bw-03']
[[mounts]] [[mounts]]
source = 'bw04' source = 'bw04'
destination = '/mnt/data' destination = '/mnt/data'
initial_size = '128GB' initial_size = '256GB'
processes = ['bw-04'] processes = ['bw-04']
[[mounts]] [[mounts]]
@ -62,6 +69,15 @@ primary_region = 'ams'
initial_size = '256GB' initial_size = '256GB'
processes = ['bw-08'] processes = ['bw-08']
[[services]]
protocol = 'tcp'
internal_port = 2222
auto_stop_machines = 'off'
processes = ['bw-00']
[[services.ports]]
port = 2200
[[services]] [[services]]
protocol = 'tcp' protocol = 'tcp'
internal_port = 2222 internal_port = 2222

View file

@ -0,0 +1,67 @@
# fly.toml app configuration file generated for build-worker-kyoumanet-cdg on 2024-11-21T00:31:54+01:00
#
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
#
app = 'build-worker-kyoumanet-cdg'
primary_region = 'cdg'
[build]
image = 'registry.fly.io/build-worker-kyoumanet:latest'
[processes]
bw-09 = '/entrypoint.sh'
bw-10 = '/entrypoint.sh'
bw-11 = '/entrypoint.sh'
[[mounts]]
source = 'bw09'
destination = '/mnt/data'
initial_size = '256GB'
processes = ['bw-09']
[[mounts]]
source = 'bw10'
destination = '/mnt/data'
initial_size = '256GB'
processes = ['bw-10']
[[mounts]]
source = 'bw11'
destination = '/mnt/data'
initial_size = '256GB'
processes = ['bw-11']
[[services]]
protocol = 'tcp'
internal_port = 2222
auto_stop_machines = 'off'
processes = ['bw-09']
[[services.ports]]
port = 2209
[[services]]
protocol = 'tcp'
internal_port = 2222
auto_stop_machines = 'off'
processes = ['bw-10']
[[services.ports]]
port = 2210
[[services]]
protocol = 'tcp'
internal_port = 2222
auto_stop_machines = 'off'
processes = ['bw-11']
[[services.ports]]
port = 2211
[[restart]]
policy = 'never'
[[vm]]
size = 'performance-16x'
memory = '96GB'

View file

@ -1,11 +1,13 @@
# I hate this so much aaa # I hate this so much aaa
{ {
lib,
callPackage, callPackage,
dockerTools, dockerTools,
openssh, openssh,
bash, bash,
gnused, gnused,
util-linux, util-linux,
qemu-user
}: }:
dockerTools.buildLayeredImage { dockerTools.buildLayeredImage {
@ -20,11 +22,28 @@ dockerTools.buildLayeredImage {
enableFakechroot = true; enableFakechroot = true;
contents = [ openssh util-linux bash gnused ]; contents = [ openssh util-linux bash gnused qemu-user ];
config.Cmd = [ "/entrypoint.sh" ]; config.Cmd = [ "/entrypoint.sh" ];
fakeRootCommands = '' fakeRootCommands = let
system-features = [
"benchmark"
"big-parallel"
"nixos-test"
"uid-range"
"gccarch-x86-64"
"gccarch-x86-64-v2"
"gccarch-x86-64-v3"
"gccarch-armv8-a"
"gccarch-armv8.1-a"
"gccarch-armv8.2-a"
"gccarch-armv8.2-a+fp16+rcpc+dotprod"
"gccarch-rv64imac"
"gccarch-rv64imacfd"
"gccarch-rv64gc"
];
in ''
mkdir -p /root mkdir -p /root
cat <<EOF > /root/nix.conf cat <<EOF > /root/nix.conf
build-users-group = nixbld build-users-group = nixbld
@ -36,7 +55,8 @@ dockerTools.buildLayeredImage {
max-silent-time = 14400 max-silent-time = 14400
min-free = ${builtins.toString (49152 * 1024 * 1024)} min-free = ${builtins.toString (49152 * 1024 * 1024)}
max-free = ${builtins.toString (65536 * 1024 * 1024)} max-free = ${builtins.toString (65536 * 1024 * 1024)}
system-features = benchmark big-parallel kvm nixos-test uid-range gccarch-x86-64 gccarch-x86-64-v2 gccarch-x86-64-v3 extra-platforms = aarch64-linux i686-linux riscv64-linux
system-features = ${toString system-features}
EOF EOF
mkdir -p /root/.ssh mkdir -p /root/.ssh
@ -51,6 +71,9 @@ dockerTools.buildLayeredImage {
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOpyVefbZLkNVNzdSIlO6x6JohHE1snoHiUB3Qdvl5I2 aprl@idk ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOpyVefbZLkNVNzdSIlO6x6JohHE1snoHiUB3Qdvl5I2 aprl@idk
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVNo871p97NTefP52KYiwuch+FaVScxvcFd9fg0yykySTq7Y5JsxrJQgTnox/oDa0O87OyHD/GHQljAXkqiHpDkExbiGjDmGXJSKReKH061F4FqBnDIwYRzUu9Cxjl4MNqsU0RqLaz4+F42c/L7GROQwjEPUb8JHThRiI5FJnDvvB+oBLBxeyQA4v3O4i8DaDQayTr/XB+aSlhNwKrb6cjjL93AHT1uE53yY5jn4kZX+RiPQhH7rvt9N6E4Yr3CG6nUgRCUS0L66d9yfrq0XAbAVk9F+viV7Nk9qy4MWHtXZ4h0qUlzrGALPgGsCGiLGd4NvEgeCcV4nvxdmevxTSdKlJP75xlmlLVXGyhqCZkTsxm/png2UvDl+p0pLyrgNaNoXPdE0Jbv7C28WX36Nast1QFSMUhexzuOx8OgaOioeXVfK98AouqWb58iPBCvgreUIH/gJhZcnlB/Foo1KSO+fJNH8hAsLH7w0mnKyHhJjkrjjwUqsnpepB3SOLfZTE= aprl@meow ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDVNo871p97NTefP52KYiwuch+FaVScxvcFd9fg0yykySTq7Y5JsxrJQgTnox/oDa0O87OyHD/GHQljAXkqiHpDkExbiGjDmGXJSKReKH061F4FqBnDIwYRzUu9Cxjl4MNqsU0RqLaz4+F42c/L7GROQwjEPUb8JHThRiI5FJnDvvB+oBLBxeyQA4v3O4i8DaDQayTr/XB+aSlhNwKrb6cjjL93AHT1uE53yY5jn4kZX+RiPQhH7rvt9N6E4Yr3CG6nUgRCUS0L66d9yfrq0XAbAVk9F+viV7Nk9qy4MWHtXZ4h0qUlzrGALPgGsCGiLGd4NvEgeCcV4nvxdmevxTSdKlJP75xlmlLVXGyhqCZkTsxm/png2UvDl+p0pLyrgNaNoXPdE0Jbv7C28WX36Nast1QFSMUhexzuOx8OgaOioeXVfK98AouqWb58iPBCvgreUIH/gJhZcnlB/Foo1KSO+fJNH8hAsLH7w0mnKyHhJjkrjjwUqsnpepB3SOLfZTE= aprl@meow
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQD0v3tUBNEUxfoOQBFb+N2DUBQDay0iFggUWa9Nd+BtFLOKkz+RRto3eBF0ZiJZVUxv/hLb8m2s45hcMw8agwuPrXMe5085T1fzkvPdKAPZdsT/cCmBi1OsoLjAKBFIdM4lcV0A2cca8hip+/ZPpjFPUWx73/672gAPHU7co7fP8+8CSf9dx+WIeLx3yaYHYZ/th3dB5auX3VjOazS8MojsAorwTUeBoPamHQ5dFeNafhFUL/hhtGkUI1cNHUn3bJd2V7AKTW3UglK7hVgMJPrzVS31OlpcJEf6S5XgKTWdOSwubn1bs5Lt6YYRDU24NV6CGrwKgCJSRxzNMLwpnFKiSXpO8FzkqWHYWyju141hQcFF31aZIV+7YcwEt5ZukLjFOpVtpbSXvJYigOUzGi34P3/OAGshDXjTQjvM8GIir49gx3b2Nwhg0z4UHBkAKZvDDFPHDMJoclvnhITojaAojfC9zmMCO5ZaEsk8yv7c/lWQumzRpfldWF4mwHvhD5kTADbhRdO7WTdX7AaiAYINooToeWKjFe2wn3rFubPUppptqtP03mmvs7vhhgnEVBbGZRJK3GTVk1XcsfF9rDKzewSa+wb4LsBoZtFRhc8cJqHGlKWSNk7dQ04B1atPyNLKGpGoo/UIPxyZ6bSqFVxY3nhz46VZ6z8XWI48z0/fRQ== aprl@uwu ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQD0v3tUBNEUxfoOQBFb+N2DUBQDay0iFggUWa9Nd+BtFLOKkz+RRto3eBF0ZiJZVUxv/hLb8m2s45hcMw8agwuPrXMe5085T1fzkvPdKAPZdsT/cCmBi1OsoLjAKBFIdM4lcV0A2cca8hip+/ZPpjFPUWx73/672gAPHU7co7fP8+8CSf9dx+WIeLx3yaYHYZ/th3dB5auX3VjOazS8MojsAorwTUeBoPamHQ5dFeNafhFUL/hhtGkUI1cNHUn3bJd2V7AKTW3UglK7hVgMJPrzVS31OlpcJEf6S5XgKTWdOSwubn1bs5Lt6YYRDU24NV6CGrwKgCJSRxzNMLwpnFKiSXpO8FzkqWHYWyju141hQcFF31aZIV+7YcwEt5ZukLjFOpVtpbSXvJYigOUzGi34P3/OAGshDXjTQjvM8GIir49gx3b2Nwhg0z4UHBkAKZvDDFPHDMJoclvnhITojaAojfC9zmMCO5ZaEsk8yv7c/lWQumzRpfldWF4mwHvhD5kTADbhRdO7WTdX7AaiAYINooToeWKjFe2wn3rFubPUppptqtP03mmvs7vhhgnEVBbGZRJK3GTVk1XcsfF9rDKzewSa+wb4LsBoZtFRhc8cJqHGlKWSNk7dQ04B1atPyNLKGpGoo/UIPxyZ6bSqFVxY3nhz46VZ6z8XWI48z0/fRQ== aprl@uwu
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAAl3/krXJeCcDEJXRuzOdCOrJLG7b6MRqC+a9Xux3mW vika@hydrangea
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHQjTy9qqHcs5vgTz+iMAiNNMqdyGtOhEpnpJCReEFfZ vika@rafflesia
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAINAgFdk78I4zssUGsAIV01zefLBpwc1W7hfTobbG80XLAAAABHNzaDo= vika@nitrokey
EOF EOF
cat <<EOF > /root/.ssh/environment cat <<EOF > /root/.ssh/environment
@ -91,7 +114,9 @@ dockerTools.buildLayeredImage {
mkdir -p /var/empty mkdir -p /var/empty
mkdir -p /var/log mkdir -p /var/log
cp ${./entrypoint.sh} /entrypoint.sh substitute ${./entrypoint.sh} /entrypoint.sh \
--subst-var-by qemu-aarch64 ${lib.getExe' qemu-user "qemu-aarch64"} \
--subst-var-by qemu-riscv64 ${lib.getExe' qemu-user "qemu-riscv64"}
chmod +x /entrypoint.sh chmod +x /entrypoint.sh
''; '';
} }

View file

@ -26,4 +26,14 @@ cp /root/nix.conf /etc/nix/nix.conf
/bin/mount -t overlay overlay -o lowerdir=/nix,upperdir=/mnt/data/nix-store,workdir=/mnt/data/workdir /nix /bin/mount -t overlay overlay -o lowerdir=/nix,upperdir=/mnt/data/nix-store,workdir=/mnt/data/workdir /nix
/bin/mount --bind /mnt/data/tmp /tmp /bin/mount --bind /mnt/data/tmp /tmp
# Register QEMU binaries for user mode emulation
aarch64_magic='\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xb7\x00'
aarch64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
riscv64_magic='\x7fELF\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\xf3\x00'
riscv64_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff'
echo ":qemu-aarch64:M::$aarch64_magic:$aarch64_mask:@qemu-aarch64@:POCF" >/proc/sys/fs/binfmt_misc/register
echo ":qemu-riscv64:M::$riscv64_magic:$riscv64_mask:@qemu-riscv64@:POCF" >/proc/sys/fs/binfmt_misc/register
/root/.nix-profile/bin/sshd -D -f /root/sshd_config /root/.nix-profile/bin/sshd -D -f /root/sshd_config

View file

@ -4,8 +4,8 @@
dockerTools.pullImage { dockerTools.pullImage {
imageName = "nixos/nix"; imageName = "nixos/nix";
imageDigest = "sha256:fd7a5c67d396fe6bddeb9c10779d97541ab3a1b2a9d744df3754a99add4046f1"; imageDigest = "sha256:133a1607deea14a02c2bc0850e275ed135814235a1147f68967afee261caea2b";
sha256 = "1ggkwd9zw8lj97ig7zah7dqy463hfhsgq3iwxxf8117gf8xi422s"; sha256 = "0602a59g14l1jiqfffz14hcp982qaqczi5f0ylvv0h9pp2pqrqs5";
finalImageName = "nixos/nix"; finalImageName = "nixos/nix";
finalImageTag = "latest"; finalImageTag = "latest";
} }

View file

@ -2,7 +2,18 @@ final: prev: {
nyastodon = final.callPackage ./nyastodon/default.nix {}; nyastodon = final.callPackage ./nyastodon/default.nix {};
upgrade-system = final.callPackage ./upgrade-system/default.nix {}; upgrade-system = final.callPackage ./upgrade-system/default.nix {};
update-nixfiles = final.callPackage ./update-nixfiles/default.nix {}; update-nixfiles = final.callPackage ./update-nixfiles/default.nix {};
build-worker-oci = final.callPackage ./build-worker-oci/default.nix {}; build-worker-oci = final.callPackage ./build-worker-oci/default.nix {
qemu-user = final.pkgsStatic.qemu-user.override {
hostCpuTargets = [ "aarch64-linux-user" "riscv64-linux-user" ];
};
};
librespeed-rust = final.callPackage ./librespeed-rust/default.nix {}; librespeed-rust = final.callPackage ./librespeed-rust/default.nix {};
librespeed-go = final.callPackage ./librespeed-go/default.nix {}; librespeed-go = final.callPackage ./librespeed-go/default.nix {};
akkoma-fe-domi = final.callPackage ./akkoma-fe-domi/default.nix {};
akkoma-admin-fe = final.callPackage ./akkoma-admin-fe/default.nix {};
nginxQuic = prev.nginxQuic.override {
withSlice = true;
# Use zlib because zlib-ng uses larger buffers then nginx preallocates.
zlib = final.zlib;
};
} }

View file

@ -22,19 +22,37 @@ merge_theirs () {
test_build () { test_build () {
local build_jobs local build_jobs
build_jobs="$(curl --fail -s -L -H "Accept: application/json" "${JOBSET_URL}/latest-eval" | jq -r ".builds | .[]")"
sleep 30
build_jobs="$(curl --fail -s -L -H "Accept: application/json" "${JOBSET_URL}/evals" | jq -r ".evals | max_by(.id) | .builds | .[]")"
for build in ${build_jobs}; do for build in ${build_jobs}; do
local build_status local build_status
while true; do while true; do
local build_finished local build_finished
build_finished="$(curl --fail -s -L -H "Accept: application/json" "${HYDRA_URL}/build/${build}" | jq -r ".finished")" build_finished="$(curl --fail -s -L -H "Accept: application/json" "${HYDRA_URL}/build/${build}" | jq -r ".finished")"
[[ ${build_finished} == 1 ]] && break [[ ${build_finished} == 1 ]] && break
sleep 5 sleep 5
done done
build_status="$(curl --fail -s -L -H "Accept: application/json" "${HYDRA_URL}/build/${build}" | jq -r ".buildstatus")" build_status="$(curl --fail -s -L -H "Accept: application/json" "${HYDRA_URL}/build/${build}" | jq -r ".buildstatus")"
[[ $build_status != 0 ]] && echo "Build ${build} failed" && exit 1 [[ $build_status != 0 ]] &&
echo "Build ${build} failed" &&
exit 1
echo "Build ${build} was successful" echo "Build ${build} was successful"
done done
# Idk why this is broken someone should fix me
# local last_error
# local now
#
# last_error="$(curl --fail -s -L -H "Accept: application/json" "${JOBSET_URL}" | jq -r ".errortime")"
# now="$(date +%s)"
#
# [[ $last_error -gt $now ]] &&
# echo "Evaluation error encountered at $(date +%Y-%m-%d-%H:%M:%S --date="@${last_error}")" &&
# exit 1
} }
wait_for_hydra () { wait_for_hydra () {
@ -42,16 +60,18 @@ wait_for_hydra () {
local hydra_rev local hydra_rev
local counter local counter
counter=0 counter=0
git_rev="$(git -C "${ROOT}/nixfiles" rev-parse update-inputs)" git_rev="$(git -C "${1}/nixfiles" rev-parse update-inputs)"
while true; do while [[ $counter -lt 180 ]]; do
hydra_rev="$(curl -s -L -H "Accept: application/json" "${JOBSET_URL}/latest-eval" | jq -r .flake | sed -E "s/.+&rev=(.*)/\1/g")" counter=$((counter +1))
hydra_rev="$(curl -s -L -H "Accept: application/json" "${2}/evals" | jq -r '.evals | max_by(.id) | .flake' | sed -E "s/.+&rev=(.*)/\1/g")"
if [[ "${git_rev}" == "${hydra_rev}" ]]; then if [[ "${git_rev}" == "${hydra_rev}" ]]; then
echo "Hydra got new commit" echo "Hydra got new commit"
break break
fi fi
sleep 30 sleep 5
done done
if [[ $counter -ge 30 ]]; then
if [[ $counter -ge 180 ]]; then
echo "Hydra no workey" echo "Hydra no workey"
exit 1 exit 1
fi fi
@ -87,7 +107,7 @@ gitin push origin update-inputs
echo "Waiting for hydra to get new commit" echo "Waiting for hydra to get new commit"
export -f wait_for_hydra export -f wait_for_hydra
timeout 4h bash -c wait_for_hydra timeout 4h bash -c "wait_for_hydra ${ROOT} ${JOBSET_URL}"
echo "Testing if all build jobs completed successfully" echo "Testing if all build jobs completed successfully"
test_build test_build

View file

@ -0,0 +1,35 @@
restic:
zh3485s1:
password: ENC[AES256_GCM,data:lDDSSqUH3pewpMA+6SNwGwRz95MBjeaD6I3RWUQNBFXsw/W9RoIY85AcRXxCl7CW,iv:NFF6uCs2FolMe9cgPkoAFmbWdXG2SuVRtoOyQXouEAU=,tag:UeC49xFwFkMh0Wi8p9reFw==,type:str]
id_ed25519: ENC[AES256_GCM,data:fe2CAKWSrEOvEPZgGhbigw+DEnDUGtTXEj7nuGaH5enMGDvd7QtRlDYLkM+g9zKrRJ46e2nM6btUZVqqx4rJiUbjJ5B/cBzb259CTxKGgHeMj/cYXPypamIEKFwUrloxzrgxH5JIOoUvj9Ny1P1UPIB//B5Z1Uunqmdqd2XoiAtDwZ/hvyuOfdFyUkKmOnCdF4pheMRXZ6Z51N4f09OIwuZ/xC4LQYAVB2lyycOgrvefPA5YYabMd23yEXn6v/BiP1TWbSInTHvz6Rii2WYqYO3ORCfi1pvWe15kSrTsT9zYRzLvZi5TD+4FMhLmIttZB2OXK7X+h6cHtej7X+v6HKhMKHNJhukRUP7DpcZ0+ArBEdw2j+H7C4q8NdR9rk4we7WpdQlY7tGpJvEzSis+P/Jph/tkzx6xXpKiOeOAXgQUS41qcAy7gmZj7CdsulerUHcfDy4a0y1OEuDmoYW420cGGYOCB9BlvYQbaDhyv5AMSL8sMZfm7mX5qXliE7ZQc20ggKoY2MKH6RjnT8pQhMBWo/NW13PPBDIL,iv:1+aopW183ir5XHMKcDons24A/E61mLuyJGrQTRpPXdE=,tag:s1w+HZdktM0H9FUrz097Cw==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age18vc8rcmczlt3r0ee7jr9s8l3yrkthu8wtypt08eh0eskpkw3dg6qxs7t3t
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQeWpKYktzVE1tMkpGU1c5
akZZdlBkeFQyUmUrOHZxTGE2V1FUVmV3cG5VCmZvTG1JTS9SUTk1aVl6TnBPQ1Fh
clRDTmQzQUJxWlYyV2dmVXNyTDJ2K0kKLS0tIHA3S0dsQzRxRWF4RFdSSzh1aXI5
ZFQvWFhZTndubkxaRVh3YXl0V25ZcUEK0/wV9i01kRkphrseSBqAL9f8tUlUtJDO
PUZL2Em/QjNEnXJaxxR612ONA94ptK9bsqzRJV5RtGqDwd+oAnr13Q==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-11-08T13:41:02Z"
mac: ENC[AES256_GCM,data:tMatUcv/jbvQ1URp6DrUyuiB9+rgCCdOxEVcM0NBiV5P9DGWE1hWytky4yPE9nFUOWLI7m4nTSEXHuT4yT3LkBd1Ndzhm5wQ0NEAVnZ6Sj7YOQI5CS1q95sviJBv57PBkaajHDNeSJX2hEQeR4qJFUR4fu0hIwadyzeunP/kfKE=,iv:gXRAg4cN43ocQMZm0lL8AnrbDtK+TKGchWpd/TYhnjA=,tag:+HqYuDWjoTdv+CWrJmuwxA==,type:str]
pgp:
- created_at: "2024-11-08T13:31:55Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hF4D1GtNSlou/HkSAQdALVqRZ2qzjR86mEE/MHAR5H3gmIukchY/NSvGg1Ggfmsw
uZhnl5puGOO579ItHXbk+BYwBS2koL7jyhnX8E9zmM3d3SZHwzx0mk79fr2jLFj6
0l4BLrhhcpUtzfje4/SeTgWFRIA68ON/PUTmW2Lgclh9OpQfbbousFS/JMvvdHaT
/3uJEww5MKMPlqWqK7w7z6iwIITRKH0vzQoIZ3hVcDKtKOJrJ/1bWcJorFsazxvT
=KZPf
-----END PGP MESSAGE-----
fp: B04F01A7A98A13020C39B4A68AB7B773A214ACE5
unencrypted_suffix: _unencrypted
version: 3.9.1

View file

@ -0,0 +1,35 @@
restic:
zh3485s2:
password: ENC[AES256_GCM,data:GAesjt8CMFKuZk30vJTS7kH0cSg/p6NQCOU9udcVbVCurnUdqjKqZp97KnCcmA/A,iv:bf7trphHgzFzI3Pza8dDOgmKcHsBURsXEHtw0KpGQ7s=,tag:zE1WXaptcqBQMqgk+6SRqQ==,type:str]
id_ed25519: ENC[AES256_GCM,data:hRViIdnq9VNjjqD/X6tERHsCAuxF723bh+oES/Va5KVBJdsEK2LYXWxRQV6/dpYGnmSBNJ2q4eJS0iz2kjfNUTXg1DQZ0uuxSDbhOcKQ+ksE99VrU3Go7196gXQ+rsCuRht6vzgGzIoTcMVDlA+lvJ2EAB0o7EhK4qcKI0pRHziy4/i0JgLJKc2Xw7WwAZajyUToRrroi+oh3LRJiN0+L3B13RWNBDMxfVgSH5KERhPjU40VteKNyXg9YnZxiqRMTmDmpAu/fogXwIDgnfRuWBoDgPsHeSWVN/0IpfEegoXnmdYUGk9vKQmXNJ5z7vj6oIaz8Zuk9PfPaKZHrsUGkPZqBJydvfcUpH74+sn3idDJdQ92mYIn6rorabt6QtN9bbtULmtOU/R7wvZkRSn3SmvR6uo/xShs1pkwGa1oidn8atfoMMYnR973wvuGlDZwFGy0ZJD+Mc108U7o0U153/MervsxxZ3eIpzgmRol+TjoSJINQoPNPHsj6nx65MNfJd+AFw35h5jKUag4xKaPXS5ew/wDCqZ1PFYG,iv:P8VtAFoL0CcO7m7S60JardB95MUWYiABDOUZhLhXEzo=,tag:fLniekA0lMx6wW3u4NZPKQ==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1sky8kccyyxe79ws4rew42r94427v2xnphq2vtxvdlw5xl7yzgs2q599yzs
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByUnFUQlhzYTdyblNOWUt3
V0daclVOZ0hlSmlJTHlKRDd5eThVSzVOVWh3CkpiaGNJd0hCMlk3MVdsdnY0TVJM
MEtKUXFnSlAwQ0kzd1M0eVA1WG1Bb2sKLS0tIFAvVklzZldkOFpCNHV4YnQ2SDA3
OW5TcVlqV0p4RThBRGlyaHkreEFMY28KPdgR9WCByJaLZcNophcfW7+7NU9MuI3E
bfWEFgqZLTdAg8y7s/M6ZAyjciflclxVnY8mTIhnERD+ZHHi++z1XA==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-11-13T12:51:05Z"
mac: ENC[AES256_GCM,data:t/gg9SqDfrU+eKU9yw2R7ahLQY6pTgsRVFNk7K+zxTBiqUG2Rx0wm0bclkrkSKeHAVSJkc8OOWJvvRCMxaE980mknPM6721xNDV90Pt0ZsJvFXdOYKIaPQHC29klJKO60lsMsuup3BiF94O8+wIavLvYuc3jKFcaA4b9xAPRveM=,iv:TJhR1NzPVYIysghFAbjWB5lBpMhhkvwJdszkWGSLDPI=,tag:TCnewzN2qwFyG4Xio2JatQ==,type:str]
pgp:
- created_at: "2024-11-13T12:49:09Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hF4D1GtNSlou/HkSAQdArN4L/MZSZoKwk/RKgA56OQMyt7IhW15qa7+Utie4/TQw
0xKauGLJEMp7cnpmEvpBW8sy3hZRj1K4vLv2NKHzoXBuWGBer1Hf+CDZJ71ta6J9
0l4B9f4L9AIRHO3ncb4IPyVprr+sFyhVJJAI7bo9mbFUqH0yfM5EmFiXWg5d9zO6
NfXbbfpW4ISEXFa//SuVl3h/HHxwDd83qA13OnhrlCjjwPfdA32kKM3CS/81JHNd
=4L7O
-----END PGP MESSAGE-----
fp: B04F01A7A98A13020C39B4A68AB7B773A214ACE5
unencrypted_suffix: _unencrypted
version: 3.9.1

View file

@ -0,0 +1,35 @@
services:
akkoma:
mailerPassword: ENC[AES256_GCM,data:kNep5V0HVr17bEIY2/AbwRUPqkfHKf9xnOnYi5sMJ+STWjVrQf+AzdueJTAf9Nym,iv:Usmu0uM5ev60Ui8h9zLUcDDJIHNSxAFtMq5LyLwmAsA=,tag:fNIhB8LGJwWO3zzQWgm68A==,type:str]
deepl: ENC[AES256_GCM,data:JVJkCm6UFUlownU/oRTmZ5o85mPv935Hj56JcXCt3PwNmx1kQbyj,iv:UzvGgVter1/9U8g/HQ2FfWNviD0KgWRLnW9fzgfGDag=,tag:q65bd26xFQ6Av71hy8u2fA==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age18vc8rcmczlt3r0ee7jr9s8l3yrkthu8wtypt08eh0eskpkw3dg6qxs7t3t
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1NGRYOHFVSXBNdjlpVDhF
V0g2ZkRiZnR6UElvWEZKUWxHSjZySlJadHlvCmpBdzBPRklkOVltZWwzNlNrc0pC
bG9kU3phNmFKNGkwek94Y2hZcjZCNW8KLS0tIFFqM0VTQXRuODAva0Rkc2xvWFB4
VTQ3RExKY093VG8vOThCczRzY2tpY2cKJOv0yVl9Zody0mjtytyjCXpe5V3NsReA
/Dqr6V9Hjuf3u0fjMHAjE6hDPGVH5t5NYLkNDeaGHNTaAd5dnhfprg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2024-10-31T16:57:58Z"
mac: ENC[AES256_GCM,data:VJpsLBdnle6bP6ALxLS2eTOEbiHJbNc5D+pvsoJulI9VODtBk0p1VvJv9ilToxh4oiwctMmCKSO4R9NyuZUqoqwwlYtW6tFDITBA2eg/iu/uQjcuuKLC+fFGdtnTpZcShUyMds3qi8Z8Iegk2sSMLk5QXCE2QhMUQ50VN4TXF2c=,iv:rOF34iqckOJMAVm+3RDSdlrJh4hgnyiTut3SM1e0w0E=,tag:cMjMkKkN8UFWGQqQfWBUnA==,type:str]
pgp:
- created_at: "2024-11-04T20:52:58Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hF4D1GtNSlou/HkSAQdApk/nEYcccQBCzFwC+hZbMio0s37LJuK6ceSLW786Sjsw
90ggzfOg63e92cyqYxvbKqtCgVHHU/9RmKdsSZM+rFcR3XpzWw0ke10WjZNW0lU5
0l4BuP1sPvP7Z+kxWlITnYl4SPKxVhSmYtAdGbceiGUo36jtpi9vkziuPmyrGttM
t1PNZ9gjGVyNw96rRg9bgXCSvJo2FfMx8GeArj1yuO3+bkkbDm7mFrbF6fMQN3JE
=Q9iO
-----END PGP MESSAGE-----
fp: B04F01A7A98A13020C39B4A68AB7B773A214ACE5
unencrypted_suffix: _unencrypted
version: 3.9.1