NixOS/hosts/server/configuration.nix
2024-09-22 14:41:57 -06:00

117 lines
2.4 KiB
Nix

{ ... }:
{
imports = [
./hardware-configuration.nix
../../base.nix
];
my = {
emacs.enable = true;
apps.dictionaries.enable = true;
shell.tools.enable = true;
services = {
network.enable = true;
nvidia.enable = true;
};
dev = {
nix.enable = true;
python.enable = true;
sh.enable = true;
};
scripts = {
run.enable = true;
split-dir.enable = true;
ffmpreg.enable = true;
ffmpeg4discord.enable = true;
};
servers = {
sonarr.enable = true;
radarr.enable = true;
lidarr.enable = true;
prowlarr.enable = true;
bazarr.enable = true;
kavita.enable = true;
qbittorrent.enable = true;
sabnzbd.enable = true;
unpackerr.enable = true;
jellyfin = {
enable = true;
enableCron = true;
};
};
};
networking =
let
ports = [
2049 # idk
8989 # sonarr
7878 # radarr
8686 # lidarr
9696 # prowlarr
8096 # jellyfin
6767 # bazarr
5000 # kavita
3399 # sabnzbd
];
in
{
hostName = "server";
firewall = {
allowedTCPPorts = ports;
allowedUDPPorts = ports;
};
};
nixpkgs.hostPlatform = "x86_64-linux";
nix =
let
featuresList = [
"nixos-test"
"benchmark"
"big-parallel"
"kvm"
"gccarch-znver3"
"gccarch-skylake"
"gccarch-alderlake"
];
in
{
settings.cores = 6;
buildMachines = [
{
hostName = "workstation";
system = "x86_64-linux";
sshUser = "nixremote";
maxJobs = 14;
speedFactor = 1;
supportedFeatures = featuresList;
}
];
};
users = {
groups.nixremote.gid = 555;
users.nixremote = {
isNormalUser = true;
createHome = true;
group = "nixremote";
home = "/var/nixremote/";
openssh.authorizedKeys.keys = [ (builtins.readFile ../../secrets/ssh/ed25519_nixworkstation.pub) ];
};
};
services = {
minidlna = {
enable = false;
openFirewall = true;
settings = {
inotify = "yes";
media_dir = [
"/mnt/pool"
"/home/jawz"
];
};
};
btrfs.autoScrub = {
enable = true;
fileSystems = [ "/" ];
};
};
}