Compare commits

...

30 commits

Author SHA1 Message Date
yuri b591ac70ae
Bump element-web to 1.1.72 2024-08-12 20:14:28 +02:00
yuri 850b7bdc02
Update valkyrie IP 2024-08-12 20:14:13 +02:00
yuri 99c8208acb
flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/168b220231a70e47cc1f0919048fa5914415fb18' (2024-07-04)
  → 'github:nix-community/nixos-generators/75cbb2a5e19c18840d105a72d036c6c92fc46c5d' (2024-07-29)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/1bba8a624b3b9d4f68db94fb63aaeb46039ce9e6' (2024-06-30)
  → 'github:nix-community/nixpkgs.lib/d15f6f6021693898fcd2c6a9bb13707383da9bbc' (2024-07-28)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/8668e0cd7cdcd7c048aa0aedb8051feb44e04130' (2024-07-04)
  → 'github:NixOS/nixpkgs/15ed5d4537fd46399513bb040bf98415c825281b' (2024-08-02)
• Updated input 'nixpkgs-master':
    'github:NixOS/nixpkgs/0c811d5f56f318bdbc3241ead65ca3b88d6c4a70' (2024-07-04)
  → 'github:NixOS/nixpkgs/7f9ed2e65a92f1496daa9ab73539a9d02c2454b3' (2024-08-03)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/1af787b0e7fda63e5313fb1a6815019e0c4d6f9b' (2024-07-04)
  → 'github:NixOS/nixpkgs/6602aa2586f35fc8c6c46246a1dcac6940ca3f0f' (2024-08-03)
2024-08-03 23:12:05 +02:00
yuri cf4279e7fb
Update mastodo to 4.2.10 2024-07-04 17:52:01 +02:00
yuri d9e176169e
flake.lock: Update
Flake lock file updates:

• Added input 'nixpkgs-mastodon-4-2-10':
    'github:NixOS/nixpkgs/e8f680e000d5c5b4a0ff998e6423951bcf06ba35' (2024-07-04)
2024-07-04 17:35:45 +02:00
yuri 4881428974
flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/140dcc2b9a0eb87ba5e9011076a1a7af19179ab1' (2024-07-01)
  → 'github:nix-community/nixos-generators/168b220231a70e47cc1f0919048fa5914415fb18' (2024-07-04)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/10c832d0548e9e3a6df7eb51e68c2783212a303e' (2024-07-01)
  → 'github:NixOS/nixpkgs/8668e0cd7cdcd7c048aa0aedb8051feb44e04130' (2024-07-04)
• Updated input 'nixpkgs-master':
    'github:NixOS/nixpkgs/79456ded62c3a1f6c25520799d5d822f8a6b0dc7' (2024-07-01)
  → 'github:NixOS/nixpkgs/0c811d5f56f318bdbc3241ead65ca3b88d6c4a70' (2024-07-04)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/7f993cdf26ccef564eabf31fdb40d140821e12bc' (2024-07-01)
  → 'github:NixOS/nixpkgs/1af787b0e7fda63e5313fb1a6815019e0c4d6f9b' (2024-07-04)
2024-07-04 17:31:08 +02:00
yuri cf76804cec
Update/fix keycloak, matrix, nextcloud, wireguard-nat-nftables 2024-07-04 17:22:22 +02:00
yuri 8c7f484512
flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/35c20ba421dfa5059e20e0ef2343c875372bdcf3' (2024-06-10)
  → 'github:nix-community/nixos-generators/140dcc2b9a0eb87ba5e9011076a1a7af19179ab1' (2024-07-01)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/3c62b6a12571c9a7f65ab037173ee153d539905f' (2024-04-07)
  → 'github:nix-community/nixpkgs.lib/1bba8a624b3b9d4f68db94fb63aaeb46039ce9e6' (2024-06-30)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/74b529ef56db2bc5ac41b40dca2e57e222964e3a' (2024-06-23)
  → 'github:NixOS/nixpkgs/10c832d0548e9e3a6df7eb51e68c2783212a303e' (2024-07-01)
• Removed input 'nixpkgs-23-05'
• Updated input 'nixpkgs-master':
    'github:NixOS/nixpkgs/8cce9d0ae31e51a5505650daa046fb22960766ed' (2024-06-25)
  → 'github:NixOS/nixpkgs/79456ded62c3a1f6c25520799d5d822f8a6b0dc7' (2024-07-01)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/191a3fd9786d09c8d82e89ed68c4463e7be09b3e' (2024-06-25)
  → 'github:NixOS/nixpkgs/7f993cdf26ccef564eabf31fdb40d140821e12bc' (2024-07-01)
• Updated input 'simple-nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/e47f3719f1db3e0961a4358d4cb234a0acaa7baf' (2024-01-25)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/29916981e7b3b5782dc5085ad18490113f8ff63b' (2024-06-11)
• Updated input 'simple-nixos-mailserver/flake-compat':
    'github:edolstra/flake-compat/009399224d5e398d03b22badca40a37ac85412a1' (2022-11-17)
  → 'github:edolstra/flake-compat/0f9255e01c2351cc7d116c072cb317785dd33b33' (2023-10-04)
• Updated input 'simple-nixos-mailserver/nixpkgs':
    'github:NixOS/nixpkgs/612f97239e2cc474c13c9dafa0df378058c5ad8d' (2024-01-21)
  → 'github:NixOS/nixpkgs/e8057b67ebf307f01bdcc8fba94d94f75039d1f6' (2024-06-05)
• Removed input 'simple-nixos-mailserver/nixpkgs-23_05'
• Removed input 'simple-nixos-mailserver/nixpkgs-23_11'
• Added input 'simple-nixos-mailserver/nixpkgs-24_05':
    'github:NixOS/nixpkgs/805a384895c696f802a9bf5bf4720f37385df547' (2024-05-31)
• Updated input 'simple-nixos-mailserver/utils':
    'github:numtide/flake-utils/5021eac20303a61fafe17224c087f5519baed54d' (2020-11-14)
  → 'github:numtide/flake-utils/d465f4819400de7c8d874d50b982301f28a84605' (2024-02-28)
• Added input 'simple-nixos-mailserver/utils/systems':
    'github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e' (2023-04-09)
2024-07-01 15:58:50 +02:00
yuri 81a4784816
Bump nix channel versions 2024-07-01 15:57:16 +02:00
yuri ed52371cbe
flake.lock: Update
Flake lock file updates:

• Updated input 'nixpkgs-master':
    'github:NixOS/nixpkgs/4be04c4f5d112f662df788262113b488d21352ec' (2024-06-25)
  → 'github:NixOS/nixpkgs/8cce9d0ae31e51a5505650daa046fb22960766ed' (2024-06-25)
2024-06-25 22:56:12 +02:00
yuri 17efcd53b7
Bump mastodon to v4.2.9 2024-05-31 17:12:26 +02:00
yuri 1ac4043660
Bump element-web to 1.11.67 2024-05-26 16:20:58 +02:00
yuri 65664b2f20
Get keycloak 23.0.7 from master 2024-05-26 16:18:54 +02:00
yuri 2a919ae848
flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/722b512eb7e6915882f39fff0e4c9dd44f42b77e' (2024-04-22)
  → 'github:nix-community/nixos-generators/d14b286322c7f4f897ca4b1726ce38cb68596c94' (2024-05-20)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/1552982a8e5848fe2fec7d669d54ee86aa743101' (2024-05-05)
  → 'github:NixOS/nixpkgs/8ed72179617b1b4dbd15134371daf4e9c4c039ee' (2024-05-26)
• Updated input 'nixpkgs-master':
    'github:NixOS/nixpkgs/f1edf105d0bde9776d5060b5f8dcc16aea86cb44' (2024-05-05)
  → 'github:NixOS/nixpkgs/61f95814d35e9faf61aa1dd81bd7acdf9a5514b9' (2024-05-26)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/9f5a6d72fa3985e4cd8fca3926d14ae8b54bcf75' (2024-05-05)
  → 'github:NixOS/nixpkgs/8debaa1f45995e3a621c1f55c09bf68e214f5878' (2024-05-26)
2024-05-26 14:30:59 +02:00
yuri ac7b440963
Remove unifi-controller 2024-05-26 14:23:25 +02:00
yuri 9dc6f69911
flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/d942db8df8ee860556a38754f15b8d03bf7e6933' (2024-04-08)
  → 'github:nix-community/nixos-generators/722b512eb7e6915882f39fff0e4c9dd44f42b77e' (2024-04-22)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/140546acf30a8212a03a88ded8506413fa3b5d21' (2024-04-15)
  → 'github:NixOS/nixpkgs/1552982a8e5848fe2fec7d669d54ee86aa743101' (2024-05-05)
• Updated input 'nixpkgs-master':
    'github:NixOS/nixpkgs/fc69edccf533e2731ab8850c59482907e0d4fc28' (2024-04-15)
  → 'github:NixOS/nixpkgs/f1edf105d0bde9776d5060b5f8dcc16aea86cb44' (2024-05-05)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/b941d525061a6e4f43882318225799c901f1ad40' (2024-04-15)
  → 'github:NixOS/nixpkgs/9f5a6d72fa3985e4cd8fca3926d14ae8b54bcf75' (2024-05-05)
2024-05-05 21:54:03 +02:00
yuri cfbd7192f7
bump flake.lock 2024-04-15 20:02:16 +02:00
yuri b751159789
Bump element-web to 1.11.59 2024-03-08 01:23:26 +01:00
yuri 212b674360
Patch mastodon for longer profile descriptions 2024-03-08 01:22:37 +01:00
yuri 0582c1ea17
flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/5b7772406956f95e8a0e1f27218b1e7cf6e9164a' (2024-02-26)
  → 'github:nix-community/nixos-generators/10e801a76fa611f8ce7937e2c9b7677888a54fa0' (2024-03-07)
• Updated input 'nixos-generators/nixlib':
    'github:nix-community/nixpkgs.lib/479831ed8b3c9c7b80533999f880c7d0bf6a491b' (2024-02-25)
  → 'github:nix-community/nixpkgs.lib/7873d84a89ae6e4841528ff7f5697ddcb5bdfe6c' (2024-03-03)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/227a4c47bef2390a7925693c51489e84169b1957' (2024-02-25)
  → 'github:NixOS/nixpkgs/03e303468a0b89792bc40c2f3a7cd8a322b66fad' (2024-03-06)
• Updated input 'nixpkgs-master':
    'github:NixOS/nixpkgs/cd2ec848a90ffdbe716c8829e6c4f75406c5b1a3' (2024-02-26)
  → 'github:NixOS/nixpkgs/c8cd65298e567e1e604431e4544361e365410f8c' (2024-03-07)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/94cda73bf2fd675de987db7c3ac81e861b892266' (2024-02-26)
  → 'github:NixOS/nixpkgs/413506a7ca983170cc8c7bc47f0845a2e6e03e95' (2024-03-07)
2024-03-08 00:51:14 +01:00
yuri e12d341f6c
Add nixpkgs master channel 2024-03-08 00:28:42 +01:00
yuri a7aef45adf
Bump mastodon to 4.2.8 2024-03-08 00:27:55 +01:00
yuri 67d71bfec1
Bump element-web to 1.11.58 2024-03-08 00:27:23 +01:00
yuri 8b7fb23735
Enable new Element calls in element-web 2024-02-01 18:06:17 +01:00
yuri b131ca9ecb
Update mastodon to 4.2.5 2024-02-01 18:05:58 +01:00
yuri 4b660505e7
Update element-web to 1.11.55 2024-01-28 04:46:51 +01:00
yuri 6228a20bf9
Update mastodon to 4.2.4 2024-01-28 04:46:35 +01:00
yuri 6ef85e0363
Use jackett packge from unstable to work around faulty test 2024-01-28 04:45:56 +01:00
yuri 4c3f0e56a9
flake.lock: Update
Flake lock file updates:

• Updated input 'nixos-generators':
    'github:nix-community/nixos-generators/521fb4cdd8a2e1a00d1adf0fea7135d1faf04234' (2024-01-16)
  → 'github:nix-community/nixos-generators/896f6589db5b25023b812bbb6c1f5d3a499b1132' (2024-01-24)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/c5b6c179f7b7adce1ee234df23e5cb9f1a78f87b' (2024-01-20)
  → 'github:NixOS/nixpkgs/11d4781721d16e949fbd61f67bc6b09341b7bfc6' (2024-01-26)
• Updated input 'nixpkgs-unstable':
    'github:NixOS/nixpkgs/7da66b359bcffc532b67035b54b49c25b0c0480c' (2024-01-21)
  → 'github:NixOS/nixpkgs/7ac72b3ee2af9bab80d66addd9b237277cc975c5' (2024-01-26)
• Updated input 'simple-nixos-mailserver':
    'gitlab:simple-nixos-mailserver/nixos-mailserver/4bfb8eb058f098302c97b909df2d019926e11220' (2023-12-19)
  → 'gitlab:simple-nixos-mailserver/nixos-mailserver/e47f3719f1db3e0961a4358d4cb234a0acaa7baf' (2024-01-25)
• Updated input 'simple-nixos-mailserver/nixpkgs':
    'github:NixOS/nixpkgs/64e0bf055f9d25928c31fb12924e59ff8ce71e60' (2022-12-11)
  → 'github:NixOS/nixpkgs/612f97239e2cc474c13c9dafa0df378058c5ad8d' (2024-01-21)
• Removed input 'simple-nixos-mailserver/nixpkgs-22_11'
• Updated input 'simple-nixos-mailserver/nixpkgs-23_05':
    'github:NixOS/nixpkgs/8966c43feba2c701ed624302b6a935f97bcbdf88' (2023-05-22)
  → 'github:NixOS/nixpkgs/70bdadeb94ffc8806c0570eb5c2695ad29f0e421' (2024-01-03)
• Updated input 'simple-nixos-mailserver/nixpkgs-23_11':
    'github:NixOS/nixpkgs/1b64fc1287991a9cce717a01c1973ef86cb1af0b' (2024-01-20)
  → 'github:NixOS/nixpkgs/a77ab169a83a4175169d78684ddd2e54486ac651' (2024-01-24)
2024-01-28 03:33:04 +01:00
yuri 23aa8b483c
Add forgejo host 2024-01-28 03:31:28 +01:00
23 changed files with 253 additions and 149 deletions

View file

@ -0,0 +1,16 @@
{ ... }:
{
boot.loader.grub = {
enable = true;
device = "/dev/vda";
};
networking = {
hostName = "forgejo";
firewall = {
allowedTCPPorts = [ 80 8443 ];
};
};
system.stateVersion = "23.11";
}

View file

@ -2,6 +2,8 @@
{ {
imports = [ imports = [
./configuration.nix ./configuration.nix
./unifi.nix ./forgejo.nix
./redis.nix
./nginx.nix
]; ];
} }

View file

@ -0,0 +1,60 @@
{ ... }:
{
services.forgejo = {
enable = true;
database.type = "postgres";
mailerPasswordFile = "/secrets/forgejo-mailer-password.secret";
settings = {
DEFAULT = {
APP_NAME = "Nekoverse Git";
};
server = {
DOMAIN = "git.nekover.se";
PROTOCOL = "http";
HTTP_ADDR = "127.0.0.1";
HTTP_PORT = 3000;
ROOT_URL = "https://git.nekover.se/";
# LOCAL_ROOT_URL is apparently what Forgejo uses to access itself.
# Doesn't need to be set.
};
admin = {
DISABLE_REGULAR_ORG_CREATION = false;
};
session = {
COOKIE_SECURE = true;
};
"ui.meta" = {
AUTHOR = "Nekoverse Git";
DESCRIPTION = "Git instance of the Nekoverse.";
KEYWORDS = "git,forge,forgejo,nekoverse";
};
service = {
ALLOW_ONLY_EXTERNAL_REGISTRATION = true;
DEFAULT_USER_VISIBILITY = "limited";
DEFAULT_KEEP_EMAIL_PRIVATE = true;
ENABLE_BASIC_AUTHENTICATION = false;
};
repo = {
DEFAULT_REPO_UNITS = "repo.code,repo.issues,repo.pulls";
};
actions = {
ENABLED = true;
ARTIFACT_RETENTION_DAYS = 30;
};
mailer = {
ENABLED = true;
FROM = "nyareply@nekover.se";
PROTOCOL = "smtps";
SMTP_ADDR = "mail-1.grzb.de";
SMTP_PORT = 465;
USER = "forgejo@nekover.se";
};
cache = {
ENABLED = true;
ADAPTER = "redis";
HOST = "redis+socket:///run/redis-forgejo/redis.sock";
};
};
};
}

View file

@ -0,0 +1,37 @@
{ config, ... }:
{
services.nginx = {
enable = true;
virtualHosts."git.nekover.se" = {
forceSSL = true;
enableACME = true;
listen = [
{
addr = "0.0.0.0";
port = 80;
}
{
addr = "0.0.0.0";
port = 8443;
ssl = true;
extraParameters = [ "proxy_protocol" ];
}
];
locations."/" = {
proxyPass = "${config.services.forgejo.settings.server.PROTOCOL}://${config.services.forgejo.settings.server.HTTP_ADDR}:${builtins.toString config.services.forgejo.settings.server.HTTP_PORT}";
};
# Disallow crawling archives to save disk space.
# See: https://forgejo.org/docs/latest/admin/search-engines-indexation/
locations."/robots.txt" = {
return = "200 \"User-agent: *\\nDisallow: /*/*/archive/\\n\"";
};
extraConfig = ''
set_real_ip_from 10.202.41.100;
real_ip_header proxy_protocol;
'';
};
};
}

View file

@ -0,0 +1,12 @@
{ ... }:
{
services.redis.servers.forgejo = {
enable = true;
user = "forgejo";
};
systemd.services.forgejo = {
after = [ "redis-forgejo.service" ];
requires = [ "redis-forgejo.service" ];
};
}

View file

@ -0,0 +1,13 @@
{ keyCommandEnv, ... }:
{
deployment.keys = {
"forgejo-mailer-password.secret" = {
keyCommand = keyCommandEnv ++ [ "pass" "mail/forgejo-nekover-se" ];
destDir = "/secrets";
user = "forgejo";
group = "forgejo";
permissions = "0640";
uploadAt = "pre-activation";
};
};
}

View file

@ -89,5 +89,13 @@
permissions = "0640"; permissions = "0640";
uploadAt = "pre-activation"; uploadAt = "pre-activation";
}; };
"mail-forgejo-nekover-se.secret" = {
keyCommand = keyCommandEnv ++ [ "pass" "mail/forgejo-nekover-se" ];
destDir = "/secrets";
user = "root";
group = "root";
permissions = "0640";
uploadAt = "pre-activation";
};
}; };
} }

View file

@ -56,6 +56,11 @@
sendOnly = true; sendOnly = true;
aliases = [ "nyareply@nekover.se" ]; aliases = [ "nyareply@nekover.se" ];
}; };
"forgejo@nekover.se" = {
hashedPasswordFile = "/secrets/mail-forgejo-nekover-se.secret";
sendOnly = true;
aliases = [ "nyareply@nekover.se" ];
};
}; };
certificateScheme = "acme-nginx"; certificateScheme = "acme-nginx";
}; };

View file

@ -2,25 +2,24 @@
let let
mastodonNekoversePatches = pkgs.fetchgit { mastodonNekoversePatches = pkgs.fetchgit {
url = "https://github.com/yuri-qq/nekoverse-mastodon-patches.git"; url = "https://github.com/yuri-qq/nekoverse-mastodon-patches.git";
hash = "sha256-2ZTwgcApKrXnO6isJFZk2oLaFB8hm1OAlPxftxXL25g="; hash = "sha256-Fcbuj5BGkQd3X/gViqqB+NRIvjUlUED32tNEJrzYh5o=";
}; };
mastodonNekoverseOverlay = final: prev: { mastodonNekoverseOverlay = final: prev: {
mastodon = (prev.mastodon.override rec { mastodon = (prev.mastodon.override rec {
version = "4.2.3"; version = "4.2.10";
srcOverride = final.applyPatches { srcOverride = final.applyPatches {
src = final.fetchgit { src = final.fetchgit {
url = "https://github.com/mastodon/mastodon.git"; url = "https://github.com/mastodon/mastodon.git";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-e8O4kxsrHf+wEtl4S57xIL1VEvhUSjyCbmz4r9p8Zhw="; sha256 = "sha256-z3veI0CpZk6mBgygqXk8SN/5WWjy5VkKLxC7nOLnyZE=";
}; };
patches = [ patches = [
"${mastodonNekoversePatches}/patches/001_increase_image_dimensions_limit.patch" "${mastodonNekoversePatches}/patches/001_increase_image_dimensions_limit.patch"
"${mastodonNekoversePatches}/patches/002_disable_image_reprocessing.patch" "${mastodonNekoversePatches}/patches/002_disable_image_reprocessing.patch"
"${mastodonNekoversePatches}/patches/003_make_toot_cute.patch" "${mastodonNekoversePatches}/patches/003_make_toot_cute.patch"
"${mastodonNekoversePatches}/patches/005_improve_custom_emoji_support.patch" "${mastodonNekoversePatches}/patches/005_improve_custom_emoji_support.patch"
"${mastodonNekoversePatches}/patches/006_increase_display_name_character_limit.patch" "${mastodonNekoversePatches}/patches/006_increase_profile_limits.patch"
"${mastodonNekoversePatches}/patches/007_increase_toot_character_limit.patch" "${mastodonNekoversePatches}/patches/007_increase_toot_character_limit.patch"
"${mastodonNekoversePatches}/patches/008_increase_profile_metadata_limit.patch"
]; ];
}; };
yarnHash = "sha256-qoLesubmSvRsXhKwMEWHHXcpcqRszqcdZgHQqnTpNPE="; yarnHash = "sha256-qoLesubmSvRsXhKwMEWHHXcpcqRszqcdZgHQqnTpNPE=";

View file

@ -47,13 +47,6 @@
turn_user_lifetime = 86400000; turn_user_lifetime = 86400000;
turn_allow_guests = true; turn_allow_guests = true;
}; };
sliding-sync = {
enable = true;
settings = {
SYNCV3_SERVER = config.services.matrix-synapse.settings.public_baseurl;
};
environmentFile = "/secrets/matrix-SYNCV3_SECRET.secret";
};
extras = [ "oidc" ]; extras = [ "oidc" ];
extraConfigFiles = [ extraConfigFiles = [
"/secrets/matrix-registration-shared-secret.secret" "/secrets/matrix-registration-shared-secret.secret"
@ -62,4 +55,12 @@
"/secrets/matrix-keycloak-client-secret.secret" "/secrets/matrix-keycloak-client-secret.secret"
]; ];
}; };
services.matrix-sliding-sync = {
enable = true;
settings = {
SYNCV3_SERVER = config.services.matrix-synapse.settings.public_baseurl;
};
environmentFile = "/secrets/matrix-SYNCV3_SECRET.secret";
};
} }

View file

@ -2,13 +2,12 @@
{ {
services.nextcloud = { services.nextcloud = {
enable = true; enable = true;
package = pkgs.nextcloud28; package = pkgs.nextcloud29;
hostName = "cloud.nekover.se"; hostName = "cloud.nekover.se";
https = true; https = true;
config = { config = {
dbtype = "pgsql"; dbtype = "pgsql";
adminpassFile = "/secrets/nextcloud-adminpass.secret"; adminpassFile = "/secrets/nextcloud-adminpass.secret";
defaultPhoneRegion = "DE";
}; };
database.createLocally = true; database.createLocally = true;
configureRedis = true; configureRedis = true;
@ -17,7 +16,7 @@
inherit bookmarks contacts calendar tasks twofactor_webauthn user_oidc; inherit bookmarks contacts calendar tasks twofactor_webauthn user_oidc;
}; };
maxUploadSize = "16G"; maxUploadSize = "16G";
extraOptions = { settings = {
mail_smtpmode = "smtp"; mail_smtpmode = "smtp";
mail_sendmailmode = "smtp"; mail_sendmailmode = "smtp";
mail_smtpsecure = "ssl"; mail_smtpsecure = "ssl";
@ -28,6 +27,7 @@
mail_smtphost = "mail-1.grzb.de"; mail_smtphost = "mail-1.grzb.de";
mail_smtpport = 465; mail_smtpport = 465;
mail_smtpname = "cloud@nekover.se"; mail_smtpname = "cloud@nekover.se";
default_phone_region = "DE";
}; };
# Only contains mail_smtppassword # Only contains mail_smtppassword
secretFile = "/secrets/nextcloud-secretfile.secret"; secretFile = "/secrets/nextcloud-secretfile.secret";

View file

@ -1,6 +1,8 @@
{ ... }: { nixpkgs-unstable, ... }:
{ {
services.jackett = { services.jackett = {
enable = true; enable = true;
# use package from unstable to work around faulty test in older jackett version
package = nixpkgs-unstable.legacyPackages."x86_64-linux".jackett;
}; };
} }

View file

@ -1,23 +0,0 @@
{ ... }:
{
boot.loader.grub = {
enable = true;
device = "/dev/vda";
};
networking = {
hostName = "unifi-controller";
firewall = {
allowedTCPPorts = [ 53 8080 8443 8880 8843 6789 27117 ];
allowedUDPPorts = [ 53 3478 5514 10001 1900 123 ];
allowedUDPPortRanges = [
{
from = 5656;
to = 5699;
}
];
};
};
system.stateVersion = "23.11";
}

View file

@ -1,12 +0,0 @@
{ pkgs, lib, ... }:
{
services.unifi = {
enable = true;
unifiPackage = pkgs.unifi;
};
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"unifi-controller"
"mongodb"
];
}

View file

@ -3,7 +3,7 @@ let
wireguard-nat-nftables = import ../../../pkgs/wireguard-nat-nftables pkgs; wireguard-nat-nftables = import ../../../pkgs/wireguard-nat-nftables pkgs;
config = pkgs.writeText "wireguard-nat-nftables-config" (builtins.toJSON { config = pkgs.writeText "wireguard-nat-nftables-config" (builtins.toJSON {
interface = "ens3"; interface = "ens3";
interface_address = "172.16.4.180"; interface_address = "172.16.4.239";
wg_interface = "wg0"; wg_interface = "wg0";
pubkey_port_mapping = { pubkey_port_mapping = {
# okayu # okayu

View file

@ -22,6 +22,7 @@
element.nekover.se 127.0.0.1:8443; element.nekover.se 127.0.0.1:8443;
gameserver.grzb.de 127.0.0.1:8443; gameserver.grzb.de 127.0.0.1:8443;
git.grzb.de 127.0.0.1:8443; git.grzb.de 127.0.0.1:8443;
git.nekover.se 10.202.41.106:8443;
hydra.nekover.se 10.202.41.121:8443; hydra.nekover.se 10.202.41.121:8443;
id.nekover.se 10.202.41.124:8443; id.nekover.se 10.202.41.124:8443;
matrix.nekover.se 10.202.41.112:8443; matrix.nekover.se 10.202.41.112:8443;

View file

@ -5,6 +5,7 @@ let
"mail-1.grzb.de" = "mail-1.vs.grzb.de"; "mail-1.grzb.de" = "mail-1.vs.grzb.de";
"matrix.nekover.se" = "matrix.vs.grzb.de"; "matrix.nekover.se" = "matrix.vs.grzb.de";
"netbox.grzb.de" = "netbox.vs.grzb.de"; "netbox.grzb.de" = "netbox.vs.grzb.de";
"git.nekover.se" = "forgejo.vs.grzb.de";
"grafana.grzb.de" = "metrics.vs.grzb.de"; "grafana.grzb.de" = "metrics.vs.grzb.de";
"jackett.grzb.de" = "torrent.vs.grzb.de"; "jackett.grzb.de" = "torrent.vs.grzb.de";
"jellyseerr.grzb.de" = "jellyseerr.vs.grzb.de"; "jellyseerr.grzb.de" = "jellyseerr.vs.grzb.de";

View file

@ -27,7 +27,10 @@
"default_country_code": "DE", "default_country_code": "DE",
"show_labs_settings": true, "show_labs_settings": true,
"features": { "features": {
"feature_dehydration": true "feature_dehydration": true,
"feature_video_rooms": true,
"feature_element_call_video_rooms": true,
"feature_group_calls": true
}, },
"default_federate": true, "default_federate": true,
"default_theme": "dark", "default_theme": "dark",
@ -47,4 +50,4 @@
"jitsi": { "jitsi": {
"preferredDomain": "meet.element.io" "preferredDomain": "meet.element.io"
} }
} }

View file

@ -1,9 +1,9 @@
{ pkgs, ... }: { pkgs, ... }:
let let
elementWebVersion = "1.11.53"; elementWebVersion = "1.11.72";
element-web = pkgs.fetchzip { element-web = pkgs.fetchzip {
url = "https://github.com/vector-im/element-web/releases/download/v${elementWebVersion}/element-v${elementWebVersion}.tar.gz"; url = "https://github.com/vector-im/element-web/releases/download/v${elementWebVersion}/element-v${elementWebVersion}.tar.gz";
sha256 = "sha256-asgx8g9xswBxdQCVnwaeQ2ycqNlfQzBiKc3Uk9GEWCM="; sha256 = "sha256-3pa4OVHBWZvHLsnE2JK5+sVpOXBKO5yJSQJNJokdF98=";
}; };
elementWebSecurityHeaders = '' elementWebSecurityHeaders = ''
# Configuration best practices # Configuration best practices

View file

@ -19,11 +19,11 @@
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1668681692, "lastModified": 1696426674,
"narHash": "sha256-Ht91NGdewz8IQLtWZ9LCeNXMSXHUss+9COoqu6JLmXU=", "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"owner": "edolstra", "owner": "edolstra",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "009399224d5e398d03b22badca40a37ac85412a1", "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -34,11 +34,11 @@
}, },
"nixlib": { "nixlib": {
"locked": { "locked": {
"lastModified": 1693701915, "lastModified": 1722128034,
"narHash": "sha256-waHPLdDYUOHSEtMKKabcKIMhlUOHPOOPQ9UyFeEoovs=", "narHash": "sha256-L8rwzYPsLo/TYtydPJoQyYOfetuiyQYnTWYcyB8UE/s=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "f5af57d3ef9947a70ac86e42695231ac1ad00c25", "rev": "d15f6f6021693898fcd2c6a9bb13707383da9bbc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -55,11 +55,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1705400161, "lastModified": 1722214420,
"narHash": "sha256-0MFaNIwwpVWB1N9m7cfHAM2pSVtYESQ7tlHxnDTOhM4=", "narHash": "sha256-qfHC1p5hcErGcE672/KhBkyWYloekQpqIxtcbcUVYkA=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "521fb4cdd8a2e1a00d1adf0fea7135d1faf04234", "rev": "75cbb2a5e19c18840d105a72d036c6c92fc46c5d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -70,88 +70,58 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1705781397, "lastModified": 1722621932,
"narHash": "sha256-pOlDs1paCIAhr84QjFG72iv4iBsr0pIQyItxRHJhevE=", "narHash": "sha256-Uz5xeHsH7+qZVncZwfzGd+CTjxd0mwaP7Q/pbs7OB5c=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c5b6c179f7b7adce1ee234df23e5cb9f1a78f87b", "rev": "15ed5d4537fd46399513bb040bf98415c825281b",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-23.11-small", "ref": "nixos-24.05-small",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-22_11": { "nixpkgs-24_05": {
"locked": { "locked": {
"lastModified": 1669558522, "lastModified": 1717144377,
"narHash": "sha256-yqxn+wOiPqe6cxzOo4leeJOp1bXE/fjPEi/3F/bBHv8=", "narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ce5fe99df1f15a09a91a86be9738d68fadfbad82", "rev": "805a384895c696f802a9bf5bf4720f37385df547",
"type": "github" "type": "github"
}, },
"original": { "original": {
"id": "nixpkgs", "id": "nixpkgs",
"ref": "nixos-22.11", "ref": "nixos-24.05",
"type": "indirect" "type": "indirect"
} }
}, },
"nixpkgs-23-05": { "nixpkgs-master": {
"locked": { "locked": {
"lastModified": 1705033721, "lastModified": 1722719323,
"narHash": "sha256-K5eJHmL1/kev6WuqyqqbS1cdNnSidIZ3jeqJ7GbrYnQ=", "narHash": "sha256-1O9VQB7WD1NKBz9maYGJAU0EqoajEYQSiSlrjdKWz8s=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a1982c92d8980a0114372973cbdfe0a307f1bdea", "rev": "7f9ed2e65a92f1496daa9ab73539a9d02c2454b3",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-23.05-small", "ref": "master",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-23_05": {
"locked": {
"lastModified": 1684782344,
"narHash": "sha256-SHN8hPYYSX0thDrMLMWPWYulK3YFgASOrCsIL3AJ78g=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "8966c43feba2c701ed624302b6a935f97bcbdf88",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-23.05",
"type": "indirect"
}
},
"nixpkgs-23_11": {
"locked": {
"lastModified": 1705774713,
"narHash": "sha256-j6ADaDH9XiumUzkTPlFyCBcoWYhO83lfgiSqEJF2zcs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1b64fc1287991a9cce717a01c1973ef86cb1af0b",
"type": "github"
},
"original": {
"id": "nixpkgs",
"ref": "nixos-23.11",
"type": "indirect"
}
},
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1705847418, "lastModified": 1722685361,
"narHash": "sha256-I0EzjhMl5D/PI54DYhL/9iXmFmNb75M7PJ8/yrU5Z1A=", "narHash": "sha256-6Zn2SVJYffCtenHEHsb2PmzQsX5+cRsforNJZmlK630=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "7da66b359bcffc532b67035b54b49c25b0c0480c", "rev": "6602aa2586f35fc8c6c46246a1dcac6940ca3f0f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -163,11 +133,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1670751203, "lastModified": 1717602782,
"narHash": "sha256-XdoH1v3shKDGlrwjgrNX/EN8s3c+kQV7xY6cLCE8vcI=", "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "64e0bf055f9d25928c31fb12924e59ff8ce71e60", "rev": "e8057b67ebf307f01bdcc8fba94d94f75039d1f6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -180,7 +150,7 @@
"inputs": { "inputs": {
"nixos-generators": "nixos-generators", "nixos-generators": "nixos-generators",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"nixpkgs-23-05": "nixpkgs-23-05", "nixpkgs-master": "nixpkgs-master",
"nixpkgs-unstable": "nixpkgs-unstable", "nixpkgs-unstable": "nixpkgs-unstable",
"simple-nixos-mailserver": "simple-nixos-mailserver" "simple-nixos-mailserver": "simple-nixos-mailserver"
} }
@ -190,33 +160,49 @@
"blobs": "blobs", "blobs": "blobs",
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nixpkgs-22_11": "nixpkgs-22_11", "nixpkgs-24_05": "nixpkgs-24_05",
"nixpkgs-23_05": "nixpkgs-23_05",
"nixpkgs-23_11": "nixpkgs-23_11",
"utils": "utils" "utils": "utils"
}, },
"locked": { "locked": {
"lastModified": 1703023684, "lastModified": 1718084203,
"narHash": "sha256-XQU4OaacV0F2tf9cNAvIMqlC0HBIrAtvb0MLjIHt+7M=", "narHash": "sha256-Cx1xoVfSMv1XDLgKg08CUd1EoTYWB45VmB9XIQzhmzI=",
"owner": "simple-nixos-mailserver", "owner": "simple-nixos-mailserver",
"repo": "nixos-mailserver", "repo": "nixos-mailserver",
"rev": "4bfb8eb058f098302c97b909df2d019926e11220", "rev": "29916981e7b3b5782dc5085ad18490113f8ff63b",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
"owner": "simple-nixos-mailserver", "owner": "simple-nixos-mailserver",
"ref": "nixos-23.11", "ref": "nixos-24.05",
"repo": "nixos-mailserver", "repo": "nixos-mailserver",
"type": "gitlab" "type": "gitlab"
} }
}, },
"utils": { "systems": {
"locked": { "locked": {
"lastModified": 1605370193, "lastModified": 1681028828,
"narHash": "sha256-YyMTf3URDL/otKdKgtoMChu4vfVL3vCMkRqpGifhUn0=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1709126324,
"narHash": "sha256-q6EQdSeUZOG26WelxqkmR7kArjgWCdw5sfJVHPH/7j8=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "5021eac20303a61fafe17224c087f5519baed54d", "rev": "d465f4819400de7c8d874d50b982301f28a84605",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -1,16 +1,16 @@
{ {
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11-small"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05-small";
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable-small"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable-small";
nixpkgs-23-05.url = "github:NixOS/nixpkgs/nixos-23.05-small"; nixpkgs-master.url = "github:NixOS/nixpkgs/master";
nixos-generators = { nixos-generators = {
url = "github:nix-community/nixos-generators"; url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-23.11"; simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.05";
}; };
outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-23-05, nixos-generators, simple-nixos-mailserver, ... }@inputs: outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-master, nixos-generators, simple-nixos-mailserver, ... }@inputs:
let let
hosts = import ./hosts.nix inputs; hosts = import ./hosts.nix inputs;
helper = import ./helper.nix inputs; helper = import ./helper.nix inputs;
@ -28,7 +28,7 @@
nodeNixpkgs = builtins.mapAttrs (name: host: host.pkgs) hosts; nodeNixpkgs = builtins.mapAttrs (name: host: host.pkgs) hosts;
specialArgs = { specialArgs = {
inherit nixpkgs-unstable hosts simple-nixos-mailserver; inherit nixpkgs-unstable nixpkgs-master hosts simple-nixos-mailserver;
# Provide environment for secret key command # Provide environment for secret key command
keyCommandEnv = [ "env" "GNUPGHOME=/home/yuri/.passinfra_gnupg" "PASSWORD_STORE_DIR=/home/yuri/pass/infra" ]; keyCommandEnv = [ "env" "GNUPGHOME=/home/yuri/.passinfra_gnupg" "PASSWORD_STORE_DIR=/home/yuri/pass/infra" ];
@ -38,7 +38,7 @@
hydraJobs = { hydraJobs = {
nixConfigurations = builtins.mapAttrs (host: helper.generateNixConfiguration host { nixConfigurations = builtins.mapAttrs (host: helper.generateNixConfiguration host {
inherit nixpkgs-unstable hosts simple-nixos-mailserver; inherit nixpkgs-unstable nixpkgs-master hosts simple-nixos-mailserver;
}) hosts; }) hosts;
}; };

View file

@ -1,4 +1,4 @@
{ nixpkgs, nixpkgs-unstable, nixpkgs-23-05, ... }: { nixpkgs, nixpkgs-unstable, ... }:
let let
# Set of environment specific modules # Set of environment specific modules
environments = { environments = {
@ -45,6 +45,10 @@ in
site = "vs"; site = "vs";
environment = "proxmox"; environment = "proxmox";
}; };
forgejo = {
site = "vs";
environment = "proxmox";
};
keycloak = { keycloak = {
site = "vs"; site = "vs";
environment = "proxmox"; environment = "proxmox";
@ -110,12 +114,7 @@ in
site = "vs"; site = "vs";
environment = "proxmox"; environment = "proxmox";
}; };
unifi-controller = {
site = "wg";
environment = "proxmox";
};
valkyrie = { valkyrie = {
hostNixpkgs = nixpkgs-23-05;
site = "af"; site = "af";
environment = "openstack"; environment = "openstack";
}; };

View file

@ -1,17 +1,11 @@
{ pkgs, ... }: { pkgs, ... }:
let pkgs.python3Packages.buildPythonApplication {
nftablesWithPythonOverlay = final: prev: {
nftables = (prev.nftables.override { withPython = true; });
};
pkgs-overlay = pkgs.extend nftablesWithPythonOverlay;
in
pkgs-overlay.python310Packages.buildPythonApplication {
pname = "wireguard-nat-nftables"; pname = "wireguard-nat-nftables";
version = "0.0.1"; version = "0.0.1";
propagatedBuildInputs = with pkgs-overlay; [ propagatedBuildInputs = with pkgs; [
wireguard-tools wireguard-tools
python310Packages.nftables python3Packages.nftables
]; ];
src = ./src; src = ./src;