{ config, lib, pkgs, inputs, ... }: { # Setup hardware # imports = [ inputs.nixos-hardware.nixosModules.common-cpu-intel ]; # Sops setup for this machine sops.secrets = { "borg-ssh-key" = { sopsFile = ../../secrets/perception/borg.yaml; format = "yaml"; }; "borg-password" = { sopsFile = ../../secrets/perception/borg.yaml; format = "yaml"; }; }; # Setup system configuration nathan = { services = { borg = { enable = true; extraExcludes = [ "/var/log" ]; passwordFile = config.sops.secrets."borg-password".path; sshKey = config.sops.secrets."borg-ssh-key".path; }; }; config = { setupGrub = false; nix = { autoUpdate = true; autoGC = true; }; harden = false; }; }; # Configure bootloader boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.loader.efi.efiSysMountPoint = "/boot/efi"; boot.kernelParams = [ "net.ifnames=0" ]; # Configure networking networking = { domain = "mccarty.io"; useDHCP = true; # Open ports in firewall firewall = { allowedTCPPorts = [ ]; allowedUDPPorts = [ ]; }; }; # Setup home manager home-manager.users.nathan = import ./home.nix; ## Media Streaming setup # Setup hardware hardware.opengl = { enable = true; driSupport = true; driSupport32Bit = true; extraPackages = with pkgs; [ libva vaapiIntel libvdpau-va-gl vaapiVdpau ]; }; # Newer kernel boot.kernelPackages = pkgs.linuxKernel.packages.linux_6_2; # Configure plex # Configure tatulli # Configure sabnzbd # Configure sonarr # Configure radarr }