86 lines
1.5 KiB
Nix
86 lines
1.5 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./hardware-configuration.nix
|
|
./grafana.nix
|
|
./nginx.nix
|
|
./prometheus.nix
|
|
./tunnel.nix
|
|
../server.nix
|
|
];
|
|
|
|
nixpkgs.hostPlatform = "x86_64-linux";
|
|
|
|
boot = {
|
|
loader.systemd-boot.enable = true;
|
|
loader.efi.canTouchEfiVariables = true;
|
|
zfs.extraPools = [ "library" ];
|
|
};
|
|
|
|
networking = {
|
|
hostId = "d24ae953";
|
|
hosts = {
|
|
"100.64.0.1" = [ "auth.vimium.com" ];
|
|
};
|
|
firewall = {
|
|
enable = true;
|
|
allowedTCPPorts = [
|
|
22 # SSH
|
|
];
|
|
};
|
|
};
|
|
|
|
services.zfs = {
|
|
autoScrub = {
|
|
enable = true;
|
|
pools = [ "library" ];
|
|
};
|
|
autoSnapshot = {
|
|
enable = true;
|
|
flags = "-k -p --utc";
|
|
frequent = 0;
|
|
hourly = 0;
|
|
daily = 7;
|
|
monthly = 1;
|
|
};
|
|
};
|
|
|
|
services.nfs.server = {
|
|
enable = true;
|
|
};
|
|
|
|
hardware.graphics = {
|
|
enable = true;
|
|
extraPackages = with pkgs; [
|
|
vaapiVdpau
|
|
];
|
|
};
|
|
users.users.jellyfin.extraGroups = [
|
|
"video"
|
|
"render"
|
|
];
|
|
services.jellyfin = {
|
|
enable = true;
|
|
package = pkgs.unstable.jellyfin;
|
|
cacheDir = "/var/cache/jellyfin";
|
|
dataDir = "/var/lib/jellyfin";
|
|
};
|
|
|
|
modules = {
|
|
podman.enable = true;
|
|
services = {
|
|
borgmatic = {
|
|
enable = true;
|
|
directories = [
|
|
config.services.jellyfin.dataDir
|
|
"/home/jordan"
|
|
];
|
|
repoPath = "ssh://b61758r4@b61758r4.repo.borgbase.com/./repo";
|
|
};
|
|
};
|
|
};
|
|
|
|
system.stateVersion = "22.11";
|
|
}
|