nixos-configs/hosts/zion/default.nix
2025-07-21 17:10:06 -04:00

85 lines
1.8 KiB
Nix

# hosts/zion/default.nix
{
config,
lib,
pkgs,
...
}: {
imports = [
# Hardware configuration
./hardware-configuration.nix
# Common configurations
../common/optional/plasma.nix
../common/global
../common/optional/nvidia.nix
../common/optional/docker.nix
../common/optional/steam.nix
../common/optional/flatpak.nix
../common/optional/fcitx5.nix
../common/optional/bluetooth.nix
../common/optional/sunshine.nix
];
# Bootloader
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.supportedFilesystems = ["nfs"];
# Networking
networking = {
hostName = "zion";
networkmanager.enable = true;
useDHCP = lib.mkDefault true;
};
# User configuration
users.users.fabric = {
isNormalUser = true;
description = "fabric";
extraGroups = ["networkmanager" "wheel" "docker"];
shell = pkgs.zsh;
};
services.rpcbind.enable = true;
fileSystems."/home/fabric/nas" = {
device = "tatara:/nas";
fsType = "nfs";
options = [
"x-systemd.automount"
"noauto"
"x-systemd.idle-timeout=60"
"x-systemd.device-timeout=5"
"x-systemd.mount-timeout=5"
"nfsvers=4" # Use NFSv4
"hard" # Hard mount (recommended)
"intr" # Allow interruption
"rsize=8192" # Read size
"wsize=8192" # Write size
];
};
# Enable Ollama with CUDA
services.ollama = {
enable = true;
acceleration = "cuda";
host = "0.0.0.0";
};
# Display manager configuration
services.displayManager.defaultSession = "hyprland";
programs.hyprland.enable = true;
# Basic system packages
environment.systemPackages = with pkgs; [
libinput
libnotify
kitty
ollama-cuda
usbutils
obs-studio
ntfs3g
];
}