Compare commits

..

3 Commits

8 changed files with 52 additions and 4 deletions

View File

@@ -293,6 +293,7 @@
];
};
# used for deploying configs to server
users.users.root.openssh.authorizedKeys.keys =
config.users.users.${username}.openssh.authorizedKeys.keys;

View File

@@ -112,6 +112,12 @@
data_dir = services_dir + "/owntracks";
};
};
serviceMountDeps = serviceName: dirs: {
systemd.services.${serviceName} = {
unitConfig.RequiresMountsFor = dirs;
};
};
in
{
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style;
@@ -123,6 +129,7 @@
eth_interface
service_configs
inputs
serviceMountDeps
;
};
modules =

View File

@@ -2,9 +2,14 @@
config,
service_configs,
username,
serviceMountDeps,
...
}:
{
imports = [
(serviceMountDeps "gitea" [ config.services.gitea.stateDir ])
];
services.gitea = {
enable = true;
appName = "Simon Gardling's Gitea instance";

View File

@@ -3,9 +3,14 @@
pkgs,
config,
username,
serviceMountDeps,
...
}:
{
imports = [
(serviceMountDeps "immich" [ config.services.immich.mediaLocation ])
];
services.immich = {
enable = true;
mediaLocation = service_configs.immich.dir;

View File

@@ -3,9 +3,17 @@
config,
service_configs,
username,
serviceMountDeps,
...
}:
{
imports = [
(serviceMountDeps "jellyfin" [
config.services.jellyfin.dataDir
config.services.jellyfin.cacheDir
])
];
environment.systemPackages = with pkgs; [
jellyfin
jellyfin-web
@@ -37,6 +45,7 @@
"video"
"render"
service_configs.torrent_group
"media"
];
users.users.${username}.extraGroups = [

View File

@@ -4,12 +4,16 @@
lib,
username,
config,
serviceMountDeps,
...
}:
let
heap_size = "4000M";
in
{
imports = [
(serviceMountDeps "minecraft-server-${service_configs.minecraft.server_name}" [
"${service_configs.minecraft.parent_dir}/${service_configs.minecraft.server_name}"
])
];
environment.systemPackages = [
(pkgs.writeScriptBin "mc-console" ''
#!/bin/sh
@@ -33,7 +37,11 @@ in
enable = true;
package = pkgs.fabricServers.fabric-1_21_4;
jvmOpts = "-Xmx${heap_size} -Xms${heap_size} -XX:+UseZGC -XX:+ZGenerational";
jvmOpts =
let
heap_size = "4000M";
in
"-Xmx${heap_size} -Xms${heap_size} -XX:+UseZGC -XX:+ZGenerational";
serverProperties = {
server-port = 25565;

View File

@@ -3,9 +3,14 @@
config,
username,
service_configs,
serviceMountDeps,
...
}:
{
imports = [
(serviceMountDeps "postgresql" [ config.services.postgresql.dataDir ])
];
services.postgresql = {
enable = true;
package = pkgs.postgresql_16;

View File

@@ -4,9 +4,17 @@
service_configs,
username,
lib,
serviceMountDeps,
...
}:
{
imports = [
(serviceMountDeps "qbittorrent" [
service_configs.torrent.SavePath
service_configs.torrent.TempPath
])
];
# network namespace that is proxied through mullvad
vpnNamespaces.wg = {
portMappings = [