mirror of
https://git.pvv.ntnu.no/Drift/pvv-nixos-config.git
synced 2026-07-04 17:51:48 +02:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 14623252a1 | |||
| ffb2d261ae | |||
| e05eab4ddf | |||
| 64843087be | |||
| 0c45345050 | |||
| 788f23bf04 | |||
| 8416014aeb |
@@ -107,6 +107,7 @@ in {
|
|||||||
CodeEditor
|
CodeEditor
|
||||||
CodeMirror
|
CodeMirror
|
||||||
DeleteBatch
|
DeleteBatch
|
||||||
|
MediawikiMatrixNotifs
|
||||||
PdfHandler
|
PdfHandler
|
||||||
PluggableAuth
|
PluggableAuth
|
||||||
Popups
|
Popups
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ in
|
|||||||
sops.templates."hookshot-registration.yaml" = {
|
sops.templates."hookshot-registration.yaml" = {
|
||||||
owner = config.users.users.matrix-synapse.name;
|
owner = config.users.users.matrix-synapse.name;
|
||||||
group = config.users.groups.keys-matrix-registrations.name;
|
group = config.users.groups.keys-matrix-registrations.name;
|
||||||
|
mode = "0440";
|
||||||
restartUnits = [ "matrix-hookshot.service" ];
|
restartUnits = [ "matrix-hookshot.service" ];
|
||||||
content = ''
|
content = ''
|
||||||
id: matrix-hookshot
|
id: matrix-hookshot
|
||||||
@@ -49,12 +50,59 @@ in
|
|||||||
|
|
||||||
systemd.services.matrix-hookshot = {
|
systemd.services.matrix-hookshot = {
|
||||||
serviceConfig = {
|
serviceConfig = {
|
||||||
|
DynamicUser = true;
|
||||||
SupplementaryGroups = [
|
SupplementaryGroups = [
|
||||||
config.users.groups.keys-matrix-registrations.name
|
config.users.groups.keys-matrix-registrations.name
|
||||||
];
|
];
|
||||||
LoadCredential = [
|
LoadCredential = [
|
||||||
"passkey.pem:${config.sops.secrets."matrix/hookshot/passkey".path}"
|
"passkey.pem:${config.sops.secrets."matrix/hookshot/passkey".path}"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
RuntimeDirectory = [ "matrix-hookshot/root-mnt" ];
|
||||||
|
RootDirectory = "/run/matrix-hookshot/root-mnt";
|
||||||
|
BindReadOnlyPaths = [
|
||||||
|
config.sops.templates."hookshot-registration.yaml".path
|
||||||
|
builtins.storeDir
|
||||||
|
"/etc"
|
||||||
|
"/run/nscd"
|
||||||
|
"/var/run/nscd"
|
||||||
|
];
|
||||||
|
|
||||||
|
AmbientCapabilities = "";
|
||||||
|
CapabilityBoundingSet = "";
|
||||||
|
LockPersonality = true;
|
||||||
|
MemoryDenyWriteExecute = false; # node needs this
|
||||||
|
NoNewPrivileges = true;
|
||||||
|
PrivateDevices = true;
|
||||||
|
PrivateMounts = true;
|
||||||
|
PrivateTmp = true;
|
||||||
|
PrivateUsers = true;
|
||||||
|
ProcSubset = "pid";
|
||||||
|
ProtectClock = true;
|
||||||
|
ProtectControlGroups = true;
|
||||||
|
ProtectHome = true;
|
||||||
|
ProtectHostname = true;
|
||||||
|
ProtectKernelLogs = true;
|
||||||
|
ProtectKernelModules = true;
|
||||||
|
ProtectKernelTunables = true;
|
||||||
|
ProtectProc = "invisible";
|
||||||
|
ProtectSystem = "strict";
|
||||||
|
RemoveIPC = true;
|
||||||
|
RestrictAddressFamilies = [
|
||||||
|
"AF_INET"
|
||||||
|
"AF_INET6"
|
||||||
|
"AF_UNIX"
|
||||||
|
];
|
||||||
|
RestrictNamespaces = true;
|
||||||
|
RestrictRealtime = true;
|
||||||
|
RestrictSUIDSGID = true;
|
||||||
|
SystemCallArchitectures = "native";
|
||||||
|
SystemCallFilter = [
|
||||||
|
"@system-service"
|
||||||
|
"~@privileged"
|
||||||
|
"~@resources"
|
||||||
|
];
|
||||||
|
UMask = "0077";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -54,4 +54,53 @@
|
|||||||
# TODO: Fix upstream module in nixpkgs
|
# TODO: Fix upstream module in nixpkgs
|
||||||
pantalaimon.username = "bot_admin";
|
pantalaimon.username = "bot_admin";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.services.mjolnir.serviceConfig = {
|
||||||
|
DynamicUser = true;
|
||||||
|
RuntimeDirectory = [ "mjolnir/root-mnt" ];
|
||||||
|
RootDirectory = "/run/mjolnir/root-mnt";
|
||||||
|
BindReadOnlyPaths = [
|
||||||
|
config.sops.secrets."matrix/mjolnir/access_token".path
|
||||||
|
builtins.storeDir
|
||||||
|
"/etc"
|
||||||
|
"/run/nscd"
|
||||||
|
"/var/run/nscd"
|
||||||
|
];
|
||||||
|
|
||||||
|
AmbientCapabilities = "";
|
||||||
|
CapabilityBoundingSet = "";
|
||||||
|
LockPersonality = true;
|
||||||
|
MemoryDenyWriteExecute = false; # node needs this
|
||||||
|
NoNewPrivileges = true;
|
||||||
|
PrivateDevices = true;
|
||||||
|
PrivateMounts = true;
|
||||||
|
PrivateTmp = true;
|
||||||
|
PrivateUsers = true;
|
||||||
|
ProcSubset = "pid";
|
||||||
|
ProtectClock = true;
|
||||||
|
ProtectControlGroups = true;
|
||||||
|
ProtectHome = true;
|
||||||
|
ProtectHostname = true;
|
||||||
|
ProtectKernelLogs = true;
|
||||||
|
ProtectKernelModules = true;
|
||||||
|
ProtectKernelTunables = true;
|
||||||
|
ProtectProc = "invisible";
|
||||||
|
ProtectSystem = "strict";
|
||||||
|
RemoveIPC = true;
|
||||||
|
RestrictAddressFamilies = [
|
||||||
|
"AF_INET"
|
||||||
|
"AF_INET6"
|
||||||
|
"AF_UNIX"
|
||||||
|
];
|
||||||
|
RestrictNamespaces = true;
|
||||||
|
RestrictRealtime = true;
|
||||||
|
RestrictSUIDSGID = true;
|
||||||
|
SystemCallArchitectures = "native";
|
||||||
|
SystemCallFilter = [
|
||||||
|
"@system-service"
|
||||||
|
"~@privileged"
|
||||||
|
"~@resources"
|
||||||
|
];
|
||||||
|
UMask = "0077";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,6 +56,55 @@ in
|
|||||||
enableSynapseIntegration = false;
|
enableSynapseIntegration = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemd.services."matrix-ooye" = {
|
||||||
|
serviceConfig = {
|
||||||
|
RuntimeDirectory = [ "matrix-ooye/root-mnt" ];
|
||||||
|
RootDirectory = "/run/matrix-ooye/root-mnt";
|
||||||
|
BindReadOnlyPaths = [
|
||||||
|
builtins.storeDir
|
||||||
|
"/etc"
|
||||||
|
"/run/nscd"
|
||||||
|
"/var/run/nscd"
|
||||||
|
];
|
||||||
|
|
||||||
|
AmbientCapabilities = "";
|
||||||
|
CapabilityBoundingSet = "";
|
||||||
|
LockPersonality = true;
|
||||||
|
MemoryDenyWriteExecute = false; # node needs this
|
||||||
|
NoNewPrivileges = true;
|
||||||
|
PrivateDevices = true;
|
||||||
|
PrivateMounts = true;
|
||||||
|
PrivateTmp = true;
|
||||||
|
PrivateUsers = true;
|
||||||
|
ProcSubset = "pid";
|
||||||
|
ProtectClock = true;
|
||||||
|
ProtectControlGroups = true;
|
||||||
|
ProtectHome = true;
|
||||||
|
ProtectHostname = true;
|
||||||
|
ProtectKernelLogs = true;
|
||||||
|
ProtectKernelModules = true;
|
||||||
|
ProtectKernelTunables = true;
|
||||||
|
ProtectProc = "invisible";
|
||||||
|
ProtectSystem = "strict";
|
||||||
|
RemoveIPC = true;
|
||||||
|
RestrictAddressFamilies = [
|
||||||
|
"AF_INET"
|
||||||
|
"AF_INET6"
|
||||||
|
"AF_UNIX"
|
||||||
|
];
|
||||||
|
RestrictNamespaces = true;
|
||||||
|
RestrictRealtime = true;
|
||||||
|
RestrictSUIDSGID = true;
|
||||||
|
SystemCallArchitectures = "native";
|
||||||
|
SystemCallFilter = [
|
||||||
|
"@system-service"
|
||||||
|
"~@privileged"
|
||||||
|
"~@resources"
|
||||||
|
];
|
||||||
|
UMask = "0077";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
systemd.services."matrix-synapse" = {
|
systemd.services."matrix-synapse" = {
|
||||||
after = [
|
after = [
|
||||||
"matrix-ooye-pre-start.service"
|
"matrix-ooye-pre-start.service"
|
||||||
|
|||||||
@@ -139,6 +139,9 @@ in {
|
|||||||
AVATAR_MAX_ORIGIN_SIZE = 1024 * 1024 * 2;
|
AVATAR_MAX_ORIGIN_SIZE = 1024 * 1024 * 2;
|
||||||
};
|
};
|
||||||
actions.ENABLED = true;
|
actions.ENABLED = true;
|
||||||
|
webhook.ALLOWED_HOST_LIST = lib.concatStringsSep "," [
|
||||||
|
"external"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
dump = {
|
dump = {
|
||||||
|
|||||||
@@ -15,12 +15,13 @@ let
|
|||||||
, tracking-branch ? "REL1_45"
|
, tracking-branch ? "REL1_45"
|
||||||
, kebab-name ? kebab-case-name name
|
, kebab-name ? kebab-case-name name
|
||||||
, fetchgit ? pkgs.fetchgit
|
, fetchgit ? pkgs.fetchgit
|
||||||
|
, url ? "https://gerrit.wikimedia.org/r/mediawiki/extensions/${name}"
|
||||||
}:
|
}:
|
||||||
{
|
{
|
||||||
${name} = (fetchgit {
|
${name} = (fetchgit {
|
||||||
name = "mediawiki-${kebab-name}-source";
|
name = "mediawiki-${kebab-name}-source";
|
||||||
url = "https://gerrit.wikimedia.org/r/mediawiki/extensions/${name}";
|
|
||||||
rev = commit;
|
rev = commit;
|
||||||
|
inherit url;
|
||||||
inherit hash;
|
inherit hash;
|
||||||
}).overrideAttrs (_: {
|
}).overrideAttrs (_: {
|
||||||
passthru = { inherit name kebab-name tracking-branch; };
|
passthru = { inherit name kebab-name tracking-branch; };
|
||||||
@@ -97,4 +98,12 @@ lib.mergeAttrsList [
|
|||||||
commit = "f53000f0499858fe74e4f5008b2f5e467d9d9382";
|
commit = "f53000f0499858fe74e4f5008b2f5e467d9d9382";
|
||||||
hash = "sha256-+HTXZEVCwMD8z6c1kCZA3k686HzNd30pJljzRvf+gMg=";
|
hash = "sha256-+HTXZEVCwMD8z6c1kCZA3k686HzNd30pJljzRvf+gMg=";
|
||||||
})
|
})
|
||||||
|
|
||||||
|
(mw-ext {
|
||||||
|
name = "MediawikiMatrixNotifs";
|
||||||
|
commit = "52d2a46c03f51af7c16ed4d7b3b07b0cbbffb4df";
|
||||||
|
hash = "sha256-AADWunm2Rn2cfxeu9xyYBw5txnaIbJNdR3jxLqgzAy8=";
|
||||||
|
url = "https://git.pvv.ntnu.no/oysteikt/mediawiki-matrix-notifs.git";
|
||||||
|
tracking-branch = "master";
|
||||||
|
})
|
||||||
]
|
]
|
||||||
|
|||||||
+2
-2
@@ -55,11 +55,11 @@ in rec {
|
|||||||
};
|
};
|
||||||
brzeczyszczykiewicz = {
|
brzeczyszczykiewicz = {
|
||||||
ipv4 = pvv-ipv4 205;
|
ipv4 = pvv-ipv4 205;
|
||||||
ipv6 = pvv-ipv6 "1:50"; # Wtf peder why
|
ipv6 = pvv-ipv6 205;
|
||||||
};
|
};
|
||||||
georg = {
|
georg = {
|
||||||
ipv4 = pvv-ipv4 204;
|
ipv4 = pvv-ipv4 204;
|
||||||
ipv6 = pvv-ipv6 "1:4f"; # Wtf øystein og daniel why
|
ipv6 = pvv-ipv6 204;
|
||||||
};
|
};
|
||||||
kommode = {
|
kommode = {
|
||||||
ipv4 = pvv-ipv4 223;
|
ipv4 = pvv-ipv4 223;
|
||||||
|
|||||||
Reference in New Issue
Block a user