Files
nixos/hosts/vm-jellyfin/default.nix
T

78 lines
1.4 KiB
Nix
Raw Normal View History

2025-04-18 16:55:51 -05:00
{ pkgs, ... }:
2024-11-21 23:13:21 -06:00
{
2025-04-17 22:42:18 -05:00
imports = [ ./hardware-configuration.nix ];
# Bootloader.
2025-04-18 16:55:51 -05:00
boot = {
initrd.kernelModules = [ "amdgpu" ];
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
2025-04-17 22:42:18 -05:00
};
2024-11-21 23:13:21 -06:00
greg = {
2025-04-17 22:42:18 -05:00
home = true;
2024-11-21 23:13:21 -06:00
proxies."jellyfin.home".target = "http://localhost:8096/";
2025-02-18 15:14:17 -06:00
proxies."jellyfin.thehellings.lan".target = "http://localhost:8096/";
2025-10-22 15:41:04 -05:00
tailscale = {
enable = true;
hostname = "jellyfin";
};
2024-11-21 23:13:21 -06:00
};
2025-04-18 16:55:51 -05:00
environment.systemPackages = with pkgs; [
clinfo
glxinfo
jellyfin-ffmpeg
libva-utils
radeontop
vulkan-tools
];
2024-11-21 23:13:21 -06:00
fileSystems = {
"/music" = {
2025-09-27 01:59:07 -05:00
device = "nas1.shire-zebra.ts.net:/mnt/all/music";
2024-11-21 23:13:21 -06:00
fsType = "nfs";
options = [ "ro" ];
};
"/photo" = {
2025-09-27 01:59:07 -05:00
device = "nas1.shire-zebra.ts.net:/mnt/all/photos";
2024-11-21 23:13:21 -06:00
fsType = "nfs";
options = [ "ro" ];
};
"/video" = {
2025-09-27 01:59:07 -05:00
device = "nas1.shire-zebra.ts.net:/mnt/all/video/";
2024-11-21 23:13:21 -06:00
fsType = "nfs";
options = [ "ro" ];
};
};
2025-04-18 16:55:51 -05:00
hardware = {
enableAllFirmware = true;
enableRedistributableFirmware = true;
graphics = {
enable = true;
};
};
2024-11-21 23:13:21 -06:00
networking = {
hostName = "vm-jellyfin";
2025-04-18 16:55:51 -05:00
firewall.allowedTCPPorts = [ 80 ];
2024-11-21 23:13:21 -06:00
};
2024-11-25 13:57:47 -06:00
services = {
jellyfin = {
enable = true;
openFirewall = true;
};
qemuGuest.enable = true;
2024-11-21 23:13:21 -06:00
};
2025-04-18 16:55:51 -05:00
users.users.jellyfin.extraGroups = [
"video"
"render"
];
2024-11-21 23:13:21 -06:00
}