Compare commits
17
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa4afea341 | ||
|
|
b12731a100 | ||
|
|
ce2c9c76a7 | ||
|
|
dc083ddf1a | ||
|
|
75e71f9ce9 | ||
|
|
19540ea1da | ||
|
|
431f78f8af | ||
|
|
95eea6fc26 | ||
|
|
387a34ffff | ||
|
|
37a833887b | ||
|
|
a69fc4240a | ||
|
|
15c586fbdb | ||
|
|
2daf74d134 | ||
|
|
1934787e80 | ||
|
|
2a476a7bfe | ||
|
|
e94137ecbf | ||
|
|
d22f543043 |
+5
-3
@@ -1,5 +1,6 @@
|
||||
{
|
||||
pkgs,
|
||||
pkgs',
|
||||
top,
|
||||
...
|
||||
}:
|
||||
@@ -33,7 +34,7 @@ in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
agenix
|
||||
hms
|
||||
pkgs'.hms
|
||||
];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
@@ -41,12 +42,13 @@ in
|
||||
nerd-fonts.hack
|
||||
];
|
||||
|
||||
launchd.daemons.darwin-builder = builder;
|
||||
#launchd.daemons.darwin-builder = builder;
|
||||
|
||||
nix = {
|
||||
#buildMachines = [ { systems = ["aarch64-linux"]; sshUser = "builder"; sshKey = "/etc/nix/builder_ed25519"; hostName = "localhost:31022"; protocol = "ssh-ng"; }];
|
||||
enable = true;
|
||||
gc.interval.Hour = 3;
|
||||
linux-builder.enable = true;
|
||||
#linux-builder.enable = true;
|
||||
settings.auto-optimise-store = false; # Darwin bugs?
|
||||
};
|
||||
|
||||
|
||||
@@ -19,6 +19,7 @@ let
|
||||
specialArgs = {
|
||||
inherit metadata top;
|
||||
inherit (top) self;
|
||||
pkgs' = top.self.packages.${system};
|
||||
};
|
||||
modules = [
|
||||
{
|
||||
|
||||
Generated
+24
-24
@@ -31,11 +31,11 @@
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778391342,
|
||||
"narHash": "sha256-7FVIfUHdQEB6HM+gUPLJVaL7ABrqlnMxS/pO+vNvjd8=",
|
||||
"lastModified": 1779096866,
|
||||
"narHash": "sha256-8HtF1G7OPMXzo+f+0W+7zwzhuBUSk2EMrOS4ZvFw7+I=",
|
||||
"owner": "nix-community",
|
||||
"repo": "buildbot-nix",
|
||||
"rev": "0bedd1aafd1653858d5f1e0f08eba3d7ec397dff",
|
||||
"rev": "891f2baba218f4365f0c6ef96ea33f9b277f5ed0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -95,11 +95,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1777780666,
|
||||
"narHash": "sha256-8wURyQMdDkGUarSTKOGdCuFfYiwa3HbzwscUfn3STDE=",
|
||||
"lastModified": 1779036909,
|
||||
"narHash": "sha256-zXcwYQGCT6pzinK+1dBB2ekTVtfxGZAapb3Evdcu4fY=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "8c62fba0854ba15c8917aed18894dbccb48a3777",
|
||||
"rev": "56c666e108467d87d13508936aade6d567f2a501",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -239,11 +239,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778954430,
|
||||
"narHash": "sha256-oaNyOr05lblaQdtbkbN1wO0b2KLIL2O1LkmwDgdQp4I=",
|
||||
"lastModified": 1779125151,
|
||||
"narHash": "sha256-bPHT0oJAHe5a43lkkSGAiCEg/RBqpwv5xsFrcj+Bog8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "26aaab785b0bab4af60a2c42b22760fa906ef22a",
|
||||
"rev": "fab3fd7327a0ac7a1fae5095bf140377704fac7f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -336,11 +336,11 @@
|
||||
},
|
||||
"nix-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1778945272,
|
||||
"narHash": "sha256-Aipz0UiBhE2a1FYJrNc2y+5vKWo5QVkhmaIJk3/ls+g=",
|
||||
"lastModified": 1779099457,
|
||||
"narHash": "sha256-u73aVD/lUmmT3JV+kPDztl7zPwQKd0eobD1AbJltaGs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "379c1f274f0fa354d012f0600806de54e79f29b5",
|
||||
"rev": "8792fab9d4a6454a9201675f01326f827ce35ead",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -382,11 +382,11 @@
|
||||
},
|
||||
"nixpkgs-lib_2": {
|
||||
"locked": {
|
||||
"lastModified": 1778379128,
|
||||
"narHash": "sha256-+yjPmoKsTqe/FQHriXzIfI0ELuEt3+1LXc0BE8nU/Yc=",
|
||||
"lastModified": 1778984393,
|
||||
"narHash": "sha256-r755Kh5Q0XBTPNuv9rL2rsUJTq8BDhb+lIwRWhl6yYA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "e361b0ff94723bc94283566dc2a13a46f07eaf5c",
|
||||
"rev": "0d14a58ab7aa3f513c58ccc9e47e77ffd92be204",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -484,11 +484,11 @@
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778906310,
|
||||
"narHash": "sha256-LqASEJRtLuKRBJd9051T1KMAEaYvsVrc6m64jhD6xbw=",
|
||||
"lastModified": 1779116047,
|
||||
"narHash": "sha256-2BnXm4/BvR5B0CH8nxC4CL+y+Z7woqPbPxKO7IMH85U=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "06cace835d7ee727852ac789e3dcd42fc2fd360e",
|
||||
"rev": "1367315826ebda2bebbf896029f44ac05df523f5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -504,11 +504,11 @@
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778975705,
|
||||
"narHash": "sha256-DweZZ/JO7AxbQ9+caW8Jt8L5MtjMvVWpKDS+MAiWN8E=",
|
||||
"lastModified": 1779124721,
|
||||
"narHash": "sha256-Z1q8QkuHAdkmXh4SItOzViVVFVLb+tzaEaYCTHI2UKk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "25081c3d50352c88e7502e2a1c76fda8560b2b41",
|
||||
"rev": "ad57d8faf36bb02c65c90012cd0289daa0b2d9c4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -644,11 +644,11 @@
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1778902753,
|
||||
"narHash": "sha256-4tgJmu6sc6F6y+igJfh+kG0t2U1T2cDwfhz5hC0W2Tg=",
|
||||
"lastModified": 1779077424,
|
||||
"narHash": "sha256-2nuxPFMR1R3IlV/OlF65qjs2gGjHhASa7U0+8QX0bJg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "5df06838c483ad33aa5fb1448b9ba9de665930a1",
|
||||
"rev": "b7bde1772cdb20e77381516fbbb5306a621d0965",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -20,3 +20,4 @@ builds:
|
||||
# to build at home
|
||||
- homeConfigurations."gregory.hellings-mbp"
|
||||
- homeConfigurations.gregs-MacBook-Pro-16-inch-Nov-2024
|
||||
- homeConfigurations.ivr
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, ... }:
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
greg = {
|
||||
@@ -36,4 +36,13 @@
|
||||
settings.SKIP_HOST_UPDATE = true;
|
||||
};
|
||||
};
|
||||
xdg.desktopEntries = {
|
||||
prismlauncher = {
|
||||
name = "Prism Launcher - Minecraft";
|
||||
actions.minecraft = {
|
||||
name = "Minecraft";
|
||||
exec = lib.getExe pkgs.prismlauncher;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -62,6 +62,7 @@
|
||||
serverProperties = {
|
||||
allow-flight = true;
|
||||
motd = "Maya's Minecraft World";
|
||||
online-mode = true;
|
||||
};
|
||||
whitelist = { };
|
||||
|
||||
@@ -128,8 +129,8 @@
|
||||
# Better storage engines
|
||||
# https://www.curseforge.com/minecraft/mc-mods/refined-storage
|
||||
refined-storage = pkgs.fetchurl {
|
||||
url = "https://mediafilez.forgecdn.net/files/8032/790/refinedstorage-fabric-3.0.0-beta.8.jar";
|
||||
hash = "sha256-XY5I+sw5JlWnKK/hPUOJsk2gnmqH4Iygq+aooN27NJY=";
|
||||
url = "https://mediafilez.forgecdn.net/files/8086/588/refinedstorage-fabric-3.0.0.jar";
|
||||
hash = "sha256-LuOF0aYQon78AQeD5fQ8OXHCnekfa+PNKpH7cqimFNs=";
|
||||
};
|
||||
# https://www.curseforge.com/minecraft/mc-mods/storage-drawers
|
||||
#storagedrawers = pkgs.fetchurl {
|
||||
|
||||
@@ -115,10 +115,15 @@ in
|
||||
"@\tIN\tSOA\t${config.networking.hostName}\tgreg@thehellings.com (1 1m 1m 1m 1m)"
|
||||
"\tIN\tNS\t${config.networking.hostName}"
|
||||
];
|
||||
makeHost = host: "${host.name}\tIN\tA\t${host.address}";
|
||||
makeHost =
|
||||
host:
|
||||
[ "${host.name}\tIN\tA\t${host.address}" ]
|
||||
++ lib.map (a: "${a}\tIN\tA\t${host.address}") (
|
||||
if builtins.hasAttr "aliases" host then host.aliases else [ ]
|
||||
);
|
||||
in
|
||||
pkgs.writeText "${domain}" (
|
||||
builtins.concatStringsSep "\n" (preamble ++ (lib.map makeHost hosts) ++ [ "" ])
|
||||
builtins.concatStringsSep "\n" (preamble ++ (lib.flatten (lib.map makeHost hosts)) ++ [ "" ])
|
||||
);
|
||||
in
|
||||
lib.mapAttrs
|
||||
|
||||
@@ -2,12 +2,24 @@
|
||||
# them by the following commands:
|
||||
# nix run nixpkgs.matrix-synapse
|
||||
# register_new_matrix_user -k "B9EoPr2WV9hzwc7uL2Sx1JmvCeKDEOGCpB0uginQcQtEH4wzRtkSIdo7lltrjSQa" http://localhost:8448
|
||||
{ config, lib, ... }:
|
||||
{ config, ... }:
|
||||
let
|
||||
domain = "${config.networking.domain}";
|
||||
fqdn = "matrix.${domain}";
|
||||
in
|
||||
{
|
||||
greg.proxies."${fqdn}" = {
|
||||
extraConfig = ''
|
||||
error_log /var/log/nginx/debug.log debug;
|
||||
proxy_ssl_verify off;
|
||||
proxy_ssl_server_name on;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-Ssl on;
|
||||
'';
|
||||
genAliases = false;
|
||||
ssl = true;
|
||||
target = "https://matrix.shire-zebra.ts.net";
|
||||
};
|
||||
services.nginx = {
|
||||
virtualHosts = {
|
||||
# Server the '.well-known' files to find the Matrix API server
|
||||
@@ -44,36 +56,6 @@ in
|
||||
return 200 '${builtins.toJSON client}';
|
||||
'';
|
||||
};
|
||||
|
||||
# Reverse proxy in front of the actual Matrix server
|
||||
"${fqdn}" = {
|
||||
enableACME = true;
|
||||
forceSSL = true;
|
||||
|
||||
extraConfig = ''
|
||||
error_log /var/log/nginx/debug.log debug;
|
||||
'';
|
||||
|
||||
# Not the appropriate place for the chat client
|
||||
locations =
|
||||
(builtins.listToAttrs (
|
||||
builtins.map
|
||||
(
|
||||
val:
|
||||
lib.nameValuePair "/_${val}" {
|
||||
proxyPass = "https://matrix.shire-zebra.ts.net";
|
||||
}
|
||||
)
|
||||
[
|
||||
"matrix"
|
||||
"synapse"
|
||||
"dendrite"
|
||||
]
|
||||
))
|
||||
// {
|
||||
"/".extraConfig = "return 404;";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -34,10 +34,5 @@ in
|
||||
ssl = true;
|
||||
genAliases = false;
|
||||
};
|
||||
"doubles.thehellings.com" = {
|
||||
target = "http://localhost:8081";
|
||||
ssl = true;
|
||||
genAliases = false;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
(name: value: {
|
||||
inherit name;
|
||||
address = builtins.getAttr netAttr value;
|
||||
aliases = lib.optionals (builtins.hasAttr "aliases" value) (builtins.getAttr "aliases" value);
|
||||
})
|
||||
(
|
||||
lib.filterAttrs (
|
||||
|
||||
@@ -47,6 +47,12 @@ spec:
|
||||
type: LoadBalancer
|
||||
port: 32222
|
||||
nodePort: 32222
|
||||
# Anubis sidecar port — ingress routes here; Anubis proxies to :3000
|
||||
additionalPorts:
|
||||
- name: anubis
|
||||
port: 8080
|
||||
targetPort: 8080
|
||||
protocol: TCP
|
||||
|
||||
gitea:
|
||||
admin:
|
||||
@@ -119,6 +125,46 @@ spec:
|
||||
cpu: "100m"
|
||||
memory: "2Gi"
|
||||
|
||||
# Anubis anti-crawler sidecar
|
||||
# Anubis listens on :8080 and proxies to Gitea at http://localhost:3000
|
||||
# Ingress is updated to route to the anubis port instead of http
|
||||
extraContainers:
|
||||
- name: anubis
|
||||
image: ghcr.io/techarohq/anubis:latest
|
||||
imagePullPolicy: Always
|
||||
env:
|
||||
- name: BIND
|
||||
value: ":8080"
|
||||
- name: DIFFICULTY
|
||||
value: "4"
|
||||
- name: METRICS_BIND
|
||||
value: ":9090"
|
||||
- name: SERVE_ROBOTS_TXT
|
||||
value: "true"
|
||||
- name: TARGET
|
||||
value: "http://localhost:3000"
|
||||
- name: OG_PASSTHROUGH
|
||||
value: "true"
|
||||
- name: OG_EXPIRY_TIME
|
||||
value: "24h"
|
||||
resources:
|
||||
limits:
|
||||
cpu: "750m"
|
||||
memory: "256Mi"
|
||||
requests:
|
||||
cpu: "250m"
|
||||
memory: "256Mi"
|
||||
securityContext:
|
||||
runAsUser: 1000
|
||||
runAsGroup: 1000
|
||||
runAsNonRoot: true
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
|
||||
@@ -8,7 +8,8 @@ spec:
|
||||
service:
|
||||
name: gitea-release-http
|
||||
port:
|
||||
name: http
|
||||
# Route through Anubis anti-crawler sidecar instead of directly to Gitea
|
||||
name: anubis
|
||||
tls:
|
||||
- hosts:
|
||||
- gitea
|
||||
|
||||
@@ -15,8 +15,8 @@ spec:
|
||||
storage: |-
|
||||
MINIO_ACCESS_KEY_ID={{ .minio_nas1_key }}
|
||||
MINIO_SECRET_ACCESS_KEY={{ .minio_nas1_secret }}
|
||||
#minio_key: "{{ .minio_nas1_key }}"
|
||||
#minio_secret: "{{ .minio_nas1_secret }}"
|
||||
minio_key: "{{ .minio_nas1_key }}"
|
||||
minio_secret: "{{ .minio_nas1_secret }}"
|
||||
secretStoreRef:
|
||||
name: bitwarden-login
|
||||
kind: ClusterSecretStore
|
||||
|
||||
@@ -19,6 +19,7 @@ spec:
|
||||
kind: HelmRepository
|
||||
name: mariadb-operator
|
||||
interval: "1h"
|
||||
version: "26.3.0"
|
||||
---
|
||||
apiVersion: helm.toolkit.fluxcd.io/v2
|
||||
kind: HelmRelease
|
||||
@@ -33,6 +34,7 @@ spec:
|
||||
kind: HelmRepository
|
||||
name: mariadb-operator
|
||||
interval: "1h"
|
||||
version: "26.3.0"
|
||||
dependsOn:
|
||||
- name: mariadb-operator-crds
|
||||
- name: longhorn
|
||||
|
||||
@@ -11,6 +11,7 @@ spec:
|
||||
kind: HelmRepository
|
||||
name: mariadb-operator
|
||||
interval: "1h"
|
||||
version: "26.3.0"
|
||||
dependsOn:
|
||||
- name: mariadb-operator-crds
|
||||
- name: mariadb-operator
|
||||
|
||||
+2
-1
@@ -13,7 +13,8 @@
|
||||
"ip": "10.42.1.4",
|
||||
"pubkey": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEBecZUva9OnZuXLaBun6/1ITo5f9p0YMLPD+q0egLRS",
|
||||
"external": true,
|
||||
"ts": "100.119.228.115"
|
||||
"ts": "100.119.228.115",
|
||||
"aliases": [ "s3" ]
|
||||
},
|
||||
"exodus": {
|
||||
"ip": null,
|
||||
|
||||
Reference in New Issue
Block a user