things and stuff

This commit is contained in:
Simon Gardling 2024-11-12 12:33:17 -05:00
parent 885a38eb7d
commit 1bbd8e1a53
Signed by: titaniumtown
GPG Key ID: 9AB28AC10ECE533D
9 changed files with 60 additions and 46 deletions

View File

@ -17,7 +17,8 @@
./services/immich.nix ./services/immich.nix
./services/gitea.nix ./services/gitea.nix
./services/minecraft.nix ./services/minecraft.nix
./services/llm.nix # ./services/llm.nix
# ./services/soulseek.nix
]; ];
systemd.targets = { systemd.targets = {
@ -48,11 +49,12 @@
}; };
boot = { boot = {
# kernelPackages = pkgs.linuxPackages_6_10; kernelPackages = pkgs.linuxPackages_latest;
kernelPackages = pkgs.linuxPackages;
supportedFilesystems = [ "zfs" ]; supportedFilesystems = [ "zfs" ];
zfs.extraPools = [ "tank" ]; zfs.extraPools = [ "tank" ];
zfs.package = pkgs.zfsUnstable;
loader = { loader = {
# Use the systemd-boot EFI boot loader. # Use the systemd-boot EFI boot loader.
systemd-boot.enable = true; systemd-boot.enable = true;
@ -207,6 +209,7 @@
hostId = "0f712d56"; hostId = "0f712d56";
firewall.enable = true; firewall.enable = true;
useDHCP = false; useDHCP = false;
enableIPv6 = false;
interfaces.${eth_interface} = { interfaces.${eth_interface} = {
ipv4.addresses = [ ipv4.addresses = [
@ -215,6 +218,12 @@
prefixLength = 24; prefixLength = 24;
} }
]; ];
ipv6.addresses = [
{
address = "2603:9001:3900:f005:1779:17ed:4698:6259";
prefixLength = 64;
}
];
}; };
defaultGateway = { defaultGateway = {
address = "10.1.1.1"; address = "10.1.1.1";
@ -240,9 +249,6 @@
"render" "render"
"minecraft" "minecraft"
config.services.gitea.group
config.services.jellyfin.group
config.services.caddy.group
]; ];
hashedPasswordFile = "/etc/nixos/secrets/hashedPass"; hashedPasswordFile = "/etc/nixos/secrets/hashedPass";

37
flake.lock generated
View File

@ -34,22 +34,6 @@
"type": "github" "type": "github"
} }
}, },
"jellyfin": {
"locked": {
"lastModified": 1730145036,
"narHash": "sha256-amYxkGRsSbDe8YNgJ9x0lxDAgDvi3xxO3pRjImdy5DQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bf8b641d2d58a80650ac486525d7ec5a306b69da",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "pull/351966/head",
"repo": "nixpkgs",
"type": "github"
}
},
"nix-minecraft": { "nix-minecraft": {
"inputs": { "inputs": {
"flake-compat": "flake-compat", "flake-compat": "flake-compat",
@ -59,11 +43,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1730426071, "lastModified": 1731375802,
"narHash": "sha256-2BkSiHqyWikpz9HSgTBk5kikaQ5m0Rs60C9KA2kf53o=", "narHash": "sha256-CvWPEzrl2EA3xrtg9X6K8aqV7T5r0SaDz6PLpGA0yIY=",
"owner": "Infinidoge", "owner": "Infinidoge",
"repo": "nix-minecraft", "repo": "nix-minecraft",
"rev": "4b371c3d119493051d081ff5b6cff689a97ad1a1", "rev": "b873a123366b9a62f9262414ada8d83b03f1f0bf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -74,11 +58,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1730368399, "lastModified": 1731403644,
"narHash": "sha256-F8vJtG389i9fp3k2/UDYHMed3PLCJYfxCqwiVP7b9ig=", "narHash": "sha256-T9V7CTucjRZ4Qc6pUEV/kpgNGzQbHWfGcfK6JJLfUeI=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "da14839ac5f38ee6adbdb4e6db09b5eef6d6ccdc", "rev": "f6581f1c3b137086e42a08a906bdada63045f991",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -90,16 +74,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1730200266, "lastModified": 1731432729,
"narHash": "sha256-l253w0XMT8nWHGXuXqyiIC/bMvh1VRszGXgdpQlfhvU=", "narHash": "sha256-xMIgn4+PJrb9IQh/Llq4EOmeoHnz2rDWSqlF2BDPkNQ=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "807e9154dcb16384b1b765ebe9cd2bba2ac287fd", "rev": "9c66a68772c91490d7991b5136873e09e75d517d",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "master",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -126,7 +110,6 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"jellyfin": "jellyfin",
"nix-minecraft": "nix-minecraft", "nix-minecraft": "nix-minecraft",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",

View File

@ -2,14 +2,13 @@
description = "Flake for server muffin"; description = "Flake for server muffin";
inputs = { inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
# nixpkgs.url = "github:NixOS/nixpkgs/master"; nixpkgs.url = "github:NixOS/nixpkgs/master";
nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-hardware.url = "github:NixOS/nixos-hardware/master";
quadlet-nix.url = "github:SEIAROTg/quadlet-nix"; quadlet-nix.url = "github:SEIAROTg/quadlet-nix";
quadlet-nix.inputs.nixpkgs.follows = "nixpkgs"; quadlet-nix.inputs.nixpkgs.follows = "nixpkgs";
jellyfin.url = "github:NixOS/nixpkgs/pull/351966/head";
nix-minecraft.url = "github:Infinidoge/nix-minecraft"; nix-minecraft.url = "github:Infinidoge/nix-minecraft";
nix-minecraft.inputs.nixpkgs.follows = "nixpkgs"; nix-minecraft.inputs.nixpkgs.follows = "nixpkgs";

View File

@ -1,4 +1,4 @@
{ config, service_configs, ... }: { config, service_configs, username, ... }:
{ {
services.caddy = { services.caddy = {
enable = true; enable = true;
@ -38,4 +38,8 @@
networking.firewall.allowedUDPPorts = [ networking.firewall.allowedUDPPorts = [
service_configs.ports.https service_configs.ports.https
]; ];
users.users.${username}.extraGroups = [
config.services.caddy.group
];
} }

View File

@ -1,6 +1,7 @@
{ {
config, config,
service_configs, service_configs,
username,
... ...
}: }:
{ {
@ -39,4 +40,9 @@
} }
]; ];
}; };
users.users.${username}.extraGroups = [
config.services.gitea.group
];
} }

View File

@ -3,6 +3,7 @@
config, config,
service_configs, service_configs,
inputs, inputs,
username,
... ...
}: }:
{ {
@ -17,9 +18,6 @@
# used for local streaming # used for local streaming
openFirewall = true; openFirewall = true;
# https://github.com/NixOS/nixpkgs/pull/351966
# package = inputs.jellyfin.legacyPackages.${pkgs.system}.jellyfin;
dataDir = service_configs.jellyfin.dir; dataDir = service_configs.jellyfin.dir;
cacheDir = config.services.jellyfin.dataDir + "_cache"; cacheDir = config.services.jellyfin.dataDir + "_cache";
}; };
@ -28,4 +26,8 @@
"video" "video"
"render" "render"
]; ];
users.users.${username}.extraGroups = [
config.services.jellyfin.group
];
} }

View File

@ -61,11 +61,6 @@ in
sha512 = "3326d278e57cc2d7bdb4348570c3876ed096af872e166241209ef5ac7c823829596a81570db029ac751e5a11b7686046f72119f259365350ca2eba10037f6d24"; sha512 = "3326d278e57cc2d7bdb4348570c3876ed096af872e166241209ef5ac7c823829596a81570db029ac751e5a11b7686046f72119f259365350ca2eba10037f6d24";
}; };
krypton = pkgs.fetchurl {
url = "https://cdn.modrinth.com/data/fQEb0iXm/versions/Acz3ttTp/krypton-0.2.8.jar";
sha512 = "5f8cf96c79bfd4d893f1d70da582e62026bed36af49a7fa7b1e00fb6efb28d9ad6a1eec147020496b4fe38693d33fe6bfcd1eebbd93475612ee44290c2483784";
};
tick-stasis = pkgs.fetchurl { tick-stasis = pkgs.fetchurl {
url = "https://cdn.modrinth.com/data/t6XBQ2xn/versions/fDbxgNHz/tick-stasis-1.1.1.jar"; url = "https://cdn.modrinth.com/data/t6XBQ2xn/versions/fDbxgNHz/tick-stasis-1.1.1.jar";
sha512 = "346fae7e0f1a62636525a9331643ac4343b781c240db6ef9bafe1b3a295d24d131d2b4b20cef8edc33835e9069fcaf1c2e2b3ce9ced9a2ec6e4e3d82770f52c6"; sha512 = "346fae7e0f1a62636525a9331643ac4343b781c240db6ef9bafe1b3a295d24d131d2b4b20cef8edc33835e9069fcaf1c2e2b3ce9ced9a2ec6e4e3d82770f52c6";
@ -90,6 +85,11 @@ in
url = "https://cdn.modrinth.com/data/Y8o1j1Sf/versions/6FB2l9zd/better-fabric-console-mc1.21.1-1.2.0.jar"; url = "https://cdn.modrinth.com/data/Y8o1j1Sf/versions/6FB2l9zd/better-fabric-console-mc1.21.1-1.2.0.jar";
sha512 = "3120f168a201a0d7eee55dc34788f0b1134754895d86ceca082f72b16902a00fc70ca05c73712b1d45bae8b74176af30a1821e636ba528f2abd60d94b1f35297"; sha512 = "3120f168a201a0d7eee55dc34788f0b1134754895d86ceca082f72b16902a00fc70ca05c73712b1d45bae8b74176af30a1821e636ba528f2abd60d94b1f35297";
}; };
vivecraft = pkgs.fetchurl {
url = "https://cdn.modrinth.com/data/wGoQDPN5/versions/55ml9ENB/vivecraft-1.21.1-1.1.14-b2-fabric.jar";
sha512 = "6241183987d6197a5e2b4b17f86db2ee9c594f0b6ec335153f1733c2c9ace9f21d07007150a9082e2834deead68b2c287e9443b23be5cd09a366db3f1593975b";
};
} }
); );
}; };

View File

@ -23,7 +23,6 @@
volumes = [ "${service_configs.gluetun.dir}:/gluetun:z" ]; volumes = [ "${service_configs.gluetun.dir}:/gluetun:z" ];
podmanArgs = [ podmanArgs = [
"--device=/dev/net/tun" "--device=/dev/net/tun"
"--security-opt label=disable"
]; ];
}; };
@ -36,6 +35,7 @@
environments = { environments = {
WEBUI_PORT = service_configs.ports.torrent; WEBUI_PORT = service_configs.ports.torrent;
DOCKER_MODS = "ghcr.io/gabe565/linuxserver-mod-vuetorrent"; DOCKER_MODS = "ghcr.io/gabe565/linuxserver-mod-vuetorrent";
# PUID = config.users.users.${config.services.jellyfin.user}.uid;
PGID = config.users.groups.${config.services.jellyfin.group}.gid; PGID = config.users.groups.${config.services.jellyfin.group}.gid;
}; };

14
services/soulseek.nix Normal file
View File

@ -0,0 +1,14 @@
{pkgs, ...}:
{
services.slskd = {
enable = true;
openFirewall = true;
domain = "www.gardling.com";
settings = {
shares = {
directories = ["/tank/music"];
};
};
};
}