Working on setting up matrix

This commit is contained in:
Gene Liverman 2024-06-17 21:40:01 -04:00
parent d285d44932
commit 972cb8bc82
5 changed files with 57 additions and 5 deletions

1
.gitignore vendored
View file

@ -6,6 +6,7 @@
.dccache .dccache
*.swp *.swp
*.kate-swp
# Config files that are not suitable to add to version control: # Config files that are not suitable to add to version control:
link/nix/config/.mono/ link/nix/config/.mono/

View file

@ -2,8 +2,7 @@
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
./disk-config.nix ./disk-config.nix
./post-install-general.nix ./post-install
./post-install-nginx.nix
]; ];
system.stateVersion = "24.05"; system.stateVersion = "24.05";
@ -41,6 +40,10 @@
services = { services = {
fail2ban.enable = true; fail2ban.enable = true;
postgresql = {
enable = true;
package = pkgs.postresql_16;
};
uptime-kuma = { uptime-kuma = {
enable = true; enable = true;
settings = { settings = {

View file

@ -1,6 +1,8 @@
{ config, username, ... }: { { config, username, ... }: {
imports = [ imports = [
../../../system/common/linux/restic.nix ../../../../system/common/linux/restic.nix
./matrix-synapse.nix
./nginx.nix
]; ];
services = { services = {
@ -22,7 +24,7 @@
sops = { sops = {
age.keyFile = /home/${username}/.config/sops/age/keys.txt; age.keyFile = /home/${username}/.config/sops/age/keys.txt;
defaultSopsFile = ./secrets.yaml; defaultSopsFile = ../secrets.yaml;
secrets = { secrets = {
local_git_config = { local_git_config = {
owner = "${username}"; owner = "${username}";

View file

@ -0,0 +1,46 @@
{ config, pkgs, ... }: let
#
in {
services.matrix-synapse = {
enable = true;
configureRedisLocally = true;
settings = {
public_baseurl = "https://matrix.technicalissues.us";
listeners = [
{
port = 8008;
tls = false;
type = "http";
x_forwarded = true;
bind_addresses = [
"::1"
"127.0.0.1"
];
resources = [
{
names = [
"client"
"federation"
];
compress = false;
}
];
}
];
database = {
name = "psycopg2";
args = {
user = "synapse_user";
database = "synapse";
};
};
url_preview_enabled = true;
enable_registration = false;
registration_shared_secret = config.sops.secrets.matrix-registration_shared_secret;
macaroon_secret_key = config.sops.secrets.matrix-macaroon_secret_key;
trusted_key_servers = [{ server_name = "matrix.org"; }];
};
};
}

View file

@ -5,7 +5,7 @@
in { in {
imports = [ imports = [
../../../system/common/linux/lets-encrypt.nix ../../../../system/common/linux/lets-encrypt.nix
]; ];
services.nginx = { services.nginx = {
enable = true; enable = true;