Compare commits
3 Commits
8da2e21c1d
...
f3fe629666
| Author | SHA1 | Date | |
|---|---|---|---|
|
f3fe629666
|
|||
|
9a45c808fd
|
|||
|
235bb1da1a
|
@@ -293,6 +293,7 @@
|
||||
];
|
||||
};
|
||||
|
||||
# used for deploying configs to server
|
||||
users.users.root.openssh.authorizedKeys.keys =
|
||||
config.users.users.${username}.openssh.authorizedKeys.keys;
|
||||
|
||||
|
||||
@@ -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 =
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -3,9 +3,14 @@
|
||||
pkgs,
|
||||
config,
|
||||
username,
|
||||
serviceMountDeps,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
(serviceMountDeps "immich" [ config.services.immich.mediaLocation ])
|
||||
];
|
||||
|
||||
services.immich = {
|
||||
enable = true;
|
||||
mediaLocation = service_configs.immich.dir;
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -3,9 +3,14 @@
|
||||
config,
|
||||
username,
|
||||
service_configs,
|
||||
serviceMountDeps,
|
||||
...
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
(serviceMountDeps "postgresql" [ config.services.postgresql.dataDir ])
|
||||
];
|
||||
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
package = pkgs.postgresql_16;
|
||||
|
||||
@@ -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 = [
|
||||
|
||||
Reference in New Issue
Block a user