Files
nixos/hosts/vm-jellyfin/default.nix
T
Greg Hellings 90df912f1a Fix auto-mounting NFS
Since my NFS mounts are connecting across tailscale, we need to force
them to wait for the tailscaled to be connected already
2025-10-26 22:19:27 -05:00

78 lines
1.5 KiB
Nix

{ pkgs, ... }:
{
imports = [ ./hardware-configuration.nix ];
# Bootloader.
boot = {
initrd.kernelModules = [ "amdgpu" ];
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
};
greg = {
home = true;
proxies."jellyfin.home".target = "http://localhost:8096/";
proxies."jellyfin.thehellings.lan".target = "http://localhost:8096/";
tailscale = {
enable = true;
hostname = "jellyfin";
};
};
environment.systemPackages = with pkgs; [
clinfo
glxinfo
jellyfin-ffmpeg
libva-utils
nfs-utils
radeontop
vulkan-tools
];
systemd.mounts = let
nfs = name: {
what = "nas1.shire-zebra.ts.net:/mnt/all/${name}";
type = "nfs";
name = "${name}.mount";
where = "/${name}";
requires = [ "tailscaled-autoconnect.service" ];
after = [ "tailscaled-autoconnect.service" ];
wantedBy = [ "multi-user.target" ];
mountConfig.Options = "_netdev,noexec,ro,timeo=50,retrans=5,soft";
};
in [
(nfs "music")
(nfs "photos")
(nfs "video")
];
hardware = {
enableAllFirmware = true;
enableRedistributableFirmware = true;
graphics = {
enable = true;
};
};
networking = {
hostName = "vm-jellyfin";
firewall.allowedTCPPorts = [ 80 ];
};
services = {
jellyfin = {
enable = true;
openFirewall = true;
};
qemuGuest.enable = true;
};
users.users.jellyfin.extraGroups = [
"video"
"render"
];
}