From 3b6adf36edc04c9ee19f8b6ceaa21847548e5684 Mon Sep 17 00:00:00 2001 From: Adrian Kummerlaender Date: Mon, 27 Oct 2025 10:19:08 +0100 Subject: Update, tweak athena --- flake.lock | 6 ++--- host/hardware/athena.nix | 46 ++++++++++++++++++++++++++++++++++----- host/software/desktop/default.nix | 1 + 3 files changed, 45 insertions(+), 8 deletions(-) diff --git a/flake.lock b/flake.lock index 1a989ed..62b0bb4 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1756469547, - "narHash": "sha256-YvtD2E7MYsQ3r7K9K2G7nCslCKMPShoSEAtbjHLtH0k=", + "lastModified": 1761173472, + "narHash": "sha256-m9W0dYXflzeGgKNravKJvTMR4Qqa2MVD11AwlGMufeE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "41d292bfc37309790f70f4c120b79280ce40af16", + "rev": "c8aa8cc00a5cb57fada0851a038d35c08a36a2bb", "type": "github" }, "original": { diff --git a/host/hardware/athena.nix b/host/hardware/athena.nix index 824f5aa..1628202 100644 --- a/host/hardware/athena.nix +++ b/host/hardware/athena.nix @@ -1,14 +1,38 @@ { config, lib, pkgs, modulesPath, ... }: -{ +let + ivsc-firmware = with pkgs; + stdenv.mkDerivation rec { + pname = "ivsc-firmware"; + version = "main"; + + src = pkgs.fetchFromGitHub { + owner = "intel"; + repo = "ivsc-firmware"; + rev = "10c214fea5560060d387fbd2fb8a1af329cb6232"; + sha256 = "sha256-kEoA0yeGXuuB+jlMIhNm+SBljH+Ru7zt3PzGb+EPBPw="; + + }; + + installPhase = '' + mkdir -p $out/lib/firmware/vsc/soc_a1_prod + + cp firmware/ivsc_pkg_ovti01a0_0.bin $out/lib/firmware/vsc/soc_a1_prod/ivsc_pkg_ovti01a0_0_a1_prod.bin + cp firmware/ivsc_skucfg_ovti01a0_0_1.bin $out/lib/firmware/vsc/soc_a1_prod/ivsc_skucfg_ovti01a0_0_1_a1_prod.bin + cp firmware/ivsc_fw.bin $out/lib/firmware/vsc/soc_a1_prod/ivsc_fw_a1_prod.bin + ''; + }; +in { imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; + hardware.enableRedistributableFirmware = true; + boot = { - initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" "sd_mod" ]; + initrd.availableKernelModules = [ "xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" "sd_mod" "i915" ]; initrd.kernelModules = [ "dm-snapshot" ]; kernelModules = [ "kvm-intel" "fuse" "uinput" ]; extraModulePackages = [ ]; - kernelParams = [ "nvidia-drm.modeset=1" ]; + kernelParams = [ "nvidia-drm.modeset=1" "mem_sleep_default=deep" "i915.enable_psr=0" ]; loader = { systemd-boot.enable = true; @@ -44,6 +68,18 @@ networking.useDHCP = lib.mkDefault true; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; - hardware.ipu6 = { enable = true; platform = "ipu6ep"; }; + hardware.cpu.intel.updateMicrocode = true; + + hardware.ipu6 = { + enable = true; + platform = "ipu6ep"; + }; + + hardware.firmware = [ + ivsc-firmware + ]; + + environment.systemPackages = with pkgs; [ + v4l-utils + ]; } diff --git a/host/software/desktop/default.nix b/host/software/desktop/default.nix index 615534f..3091bb1 100644 --- a/host/software/desktop/default.nix +++ b/host/software/desktop/default.nix @@ -43,6 +43,7 @@ environment.systemPackages = with pkgs; [ ntfs3g + cacert.unbundled ]; programs.i3lock.enable = true; -- cgit v1.2.3