summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.lock6
-rw-r--r--host/hardware/athena.nix46
-rw-r--r--host/software/desktop/default.nix1
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;