{ config, pkgs, ... }: let nvidia-offload = pkgs.writeShellScriptBin "nvidia-offload" '' export __NV_PRIME_RENDER_OFFLOAD=1 export __NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 export __GLX_VENDOR_LIBRARY_NAME=nvidia export __VK_LAYER_NV_optimus=NVIDIA_only exec "$@" ''; in { imports = [ ./hardware-configuration.nix ]; # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; networking.hostName = "ritchie"; networking.networkmanager.enable = true; time.timeZone = "Europe/London"; # Enable sound. security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; users.users.tsv = { isNormalUser = true; extraGroups = [ "wheel" "docker" ]; initialPassword = "password"; }; nix.settings.trusted-users = [ "root" "tsv" ]; services.xserver.enable = true; services.xserver.displayManager.sddm.enable = true; services.xserver.desktopManager.plasma5.enable = true; hardware.nvidia.modesetting.enable = true; services.xserver.videoDrivers = ["nvidia" ]; hardware.opengl.enable = true; hardware.nvidia.package = config.boot.kernelPackages.nvidiaPackages.stable; hardware.nvidia.prime = { sync.enable = true; nvidiaBusId = "PCI:1:0:0"; intelBusId = "PCI:0:2:0"; }; hardware.bluetooth.enable = true; environment.systemPackages = with pkgs; [ wget tmux git pciutils nvidia-offload ]; nixpkgs.config.allowUnfree = true; virtualisation.docker.enable = true; services.openssh.enable = true; system.copySystemConfiguration = true; system.stateVersion = "22.11"; # Don't change this }