Files
nixos/hosts/hosea/default.nix
T

127 lines
2.6 KiB
Nix
Raw Normal View History

2023-05-05 11:29:38 -05:00
# Edit this configuration file to define what should be installed on
2023-05-05 15:59:59 -05:00
# your system. Help is available in the configuration.nix(5) man page
2023-05-05 11:29:38 -05:00
# and in the NixOS manual (accessible by running nixos-help).
2025-11-08 15:37:02 -06:00
{ pkgs, top, ... }:
2023-05-05 15:59:59 -05:00
let
wanInterface = "enp2s0";
lanInterface = "enp1s0";
lanIpAddress = "10.42.1.7";
2023-05-05 15:59:59 -05:00
in
2023-05-05 11:29:38 -05:00
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
top.btc.nixosModules.default
./bitcoin.nix
];
2023-05-05 11:29:38 -05:00
# Bootloader
boot = {
loader = {
systemd-boot.enable = true;
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot/";
};
};
extraModprobeConfig = "vboxdrv";
};
2025-11-08 15:37:02 -06:00
environment.systemPackages = with pkgs; [
clinfo
glxinfo
jellyfin-ffmpeg
libva-utils
nfs-utils
radeontop
vulkan-tools
];
greg = {
home = true;
proxies = {
"jellyfin.home".target = "http://localhost:8096/";
"jellyfin.thehellings.lan".target = "http://localhost:8096/";
};
tailscale.enable = true;
};
hardware = {
enableAllFirmware = true;
enableRedistributableFirmware = true;
graphics = {
enable = true;
};
opengl = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver
2025-11-08 16:01:21 -06:00
intel-vaapi-driver
libva-vdpau-driver
2025-11-08 15:37:02 -06:00
#intel-media-sdk
intel-compute-runtime
];
};
};
2023-09-01 23:42:22 -05:00
networking = {
hostName = "hosea";
nameservers = [ "10.42.1.5" ];
defaultGateway = "10.42.1.1";
interfaces = {
"${wanInterface}".useDHCP = true;
"${lanInterface}" = {
useDHCP = false;
ipv4.addresses = [
{
address = lanIpAddress;
prefixLength = 16;
}
];
};
};
};
2023-05-05 11:29:38 -05:00
services = {
2025-11-08 15:37:02 -06:00
jellyfin = {
enable = true;
openFirewall = true;
};
# Configure keymap
xserver.xkb = {
layout = "us";
variant = "";
};
};
2025-11-08 15:37:02 -06:00
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")
];
users.users = {
greg.extraGroups = [ "vboxusers" ];
jellyfin.extraGroups = [
"video"
"render"
];
};
2023-05-05 11:29:38 -05:00
}