1
Fork 0
mirror of https://github.com/thegeneralist01/config.git synced 2026-03-07 10:59:55 +01:00

merge branch 'master' of github.com:thegeneralist01/config

This commit is contained in:
TheGeneralist 2025-10-12 16:46:05 +02:00
commit 3a47ebe28b
Signed by: thegeneralist01
SSH key fingerprint: SHA256:pp9qddbCNmVNoSjevdvQvM5z0DHN7LTa8qBMbcMq/R4
6 changed files with 26 additions and 59 deletions

6
flake.lock generated
View file

@ -318,11 +318,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1751271578, "lastModified": 1755186698,
"narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", "narHash": "sha256-wNO3+Ks2jZJ4nTHMuks+cxAiVBGNuEBXsT29Bz6HASo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", "rev": "fbcf476f790d8a217c3eab4e12033dc4a0f6d23c",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -5,7 +5,7 @@ let
ssl = { ssl = {
forceSSL = true; forceSSL = true;
quic = true; quic = true;
useACMEHost = domain; useACMEHost = acmeDomain;
}; };
in in
{ {

View file

@ -1,75 +1,42 @@
{ pkgs, ... }: { pkgs, lib, ... }:
let let
internalZoneFile = pkgs.writeText "internal.zone" '' subdomains = [ "internal" "archive" "crawler" "r" "b" "s" "p" "q" "cloud" ];
$ORIGIN internal.thegeneralist01.com.
@ IN SOA ns.internal.thegeneralist01.com. thegeneralist01.proton.me. ( mainZoneFile = pkgs.writeText "thegeneralist01.zone" ''
2025071801 ; serial (yyyymmddXX) $ORIGIN thegeneralist01.com.
@ IN SOA ns.thegeneralist01.com. thegeneralist01.proton.me. (
2025081501 ; serial (yyyymmddXX)
3600 ; refresh 3600 ; refresh
600 ; retry 600 ; retry
86400 ; expire 86400 ; expire
3600 ; minimum 3600 ; minimum
) )
IN NS ns.internal.thegeneralist01.com. IN NS ns.thegeneralist01.com.
ns IN A 100.86.129.23 ns IN A 100.86.129.23
@ IN A 100.86.129.23 @ IN A 100.86.129.23
${lib.concatStringsSep "\n" (lib.map (sub: "${sub} IN A 100.86.129.23") subdomains)}
''; '';
archiveZoneFile = pkgs.writeText "archive.zone" '' forwarderBlock = ''
$ORIGIN archive.thegeneralist01.com. .:53 {
@ IN SOA ns.archive.thegeneralist01.com. thegeneralist01.proton.me. ( forward . 100.100.100.100 45.90.28.181 45.90.30.181
2025073101 ; serial (yyyymmddXX) cache
3600 ; refresh log
600 ; retry errors
86400 ; expire }
3600 ; minimum
)
IN NS ns.archive.thegeneralist01.com.
ns IN A 100.86.129.23
@ IN A 100.86.129.23
'';
crawlerZoneFile = pkgs.writeText "crawler.zone" ''
$ORIGIN crawler.thegeneralist01.com.
@ IN SOA ns.crawler.thegeneralist01.com. thegeneralist01.proton.me. (
2025080801 ; serial (yyyymmddXX)
3600 ; refresh
600 ; retry
86400 ; expire
3600 ; minimum
)
IN NS ns.crawler.thegeneralist01.com.
ns IN A 100.86.129.23
@ IN A 100.86.129.23
''; '';
in in
{ {
services.coredns = { services.coredns = {
enable = true; enable = true;
config = '' config = ''
internal.thegeneralist01.com:53 { thegeneralist01.com:53 {
file ${internalZoneFile} file ${mainZoneFile}
log log
errors errors
} }
archive.thegeneralist01.com:53 { ${forwarderBlock}
file ${archiveZoneFile}
log
errors
}
crawler.thegeneralist01.com:53 {
file ${crawlerZoneFile}
log
errors
}
.:53 {
forward . 100.100.100.100 45.90.28.181 45.90.30.181
cache
log
errors
}
''; '';
}; };

View file

@ -14,7 +14,7 @@ in {
package = pkgs.nginxQuic; package = pkgs.nginxQuic;
enableQuicBPF = true; enableQuicBPF = true;
recommendedZstdSettings = true; experimentalZstdSettings = true;
recommendedUwsgiSettings = true; recommendedUwsgiSettings = true;
recommendedTlsSettings = true; recommendedTlsSettings = true;
recommendedProxySettings = true; recommendedProxySettings = true;

View file

@ -25,7 +25,7 @@ in {
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g=" "cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
]; ];
trusted-users = [ "thegeneralist" "central" "root" "@build" "@wheel" "@admin" ]; trusted-users = [ "thegeneralist" "central" "root" "@build" "@wheel" "@admin" "jellyfin" ];
builders-use-substitutes = true; builders-use-substitutes = true;
}; };

View file

@ -22,7 +22,7 @@ $env.config.completions = {
enable: true enable: true
max_results: 100 max_results: 100
completer: {|tokens: list<string>| completer: {|tokens: list<string>|
let expanded = scope aliases | where name == $tokens.0 | get --ignore-errors expansion.0 let expanded = scope aliases | where name == $tokens.0 | get --optional expansion.0
mut expanded_tokens = if $expanded != null and $tokens.0 != "cd" { mut expanded_tokens = if $expanded != null and $tokens.0 != "cd" {
$expanded | split row " " | append ($tokens | skip 1) $expanded | split row " " | append ($tokens | skip 1)