From 40e296b2b3f6dc674191013c7583a67778228166 Mon Sep 17 00:00:00 2001 From: "Paepcke, Michael" Date: Fri, 28 Jun 2024 22:38:31 +0200 Subject: [PATCH] apple-imac-18-2: add imac, add imac-18-2 --- apple/imac/18-2/README.md | 26 ++++++++++++++++++++++++++ apple/imac/18-2/default.nix | 30 ++++++++++++++++++++++++++++++ apple/imac/default.nix | 8 ++++++++ 3 files changed, 64 insertions(+) create mode 100644 apple/imac/18-2/README.md create mode 100644 apple/imac/18-2/default.nix create mode 100644 apple/imac/default.nix diff --git a/apple/imac/18-2/README.md b/apple/imac/18-2/README.md new file mode 100644 index 0000000..6fdbb96 --- /dev/null +++ b/apple/imac/18-2/README.md @@ -0,0 +1,26 @@ +# iMac 18,2, NixOS 24.05 (2024) + +## Audio + [ ] broken, PR pending: https://github.com/NixOS/nixpkgs/pull/322968 + +## Bluetooth + [ ] broken, PR pending: https://github.com/NixOS/nixpkgs/pull/322964 + +## Thunderbolt + [x] ok + +## SATA + [x] ok + +## NVME + [x] ok, older NVME / Controller may need workaround for resume + +## Suspend/Resumer + [ ] Thunderbolt, WIFI, NVME may still need reboot (sometimes). + +## Wifi + [x] Working (2,4Ghz & 5Ghz supported), WEP3 broken -> brcm fw blob (2015) + +## Resources (Intel iMac/MacBook share similar custom hardware) +- https://github.com/Dunedan/mbp-2016-linux?tab=readme-ov-file +- https://gist.github.com/roadrunner2/1289542a748d9a104e7baec6a92f9cd7 diff --git a/apple/imac/18-2/default.nix b/apple/imac/18-2/default.nix new file mode 100644 index 0000000..fbbfeba --- /dev/null +++ b/apple/imac/18-2/default.nix @@ -0,0 +1,30 @@ +{ + config, + lib, + pkgs, + ... +}: { + imports = [ + ../. + ../../../common/cpu/intel/kaby-lake + ../../../common/gpu/intel + ../../../common/gpu/amd + ../../../common/hidpi.nix + ../../../common/pc/laptop/ssd + ../../../common/pc/laptop/acpi_call.nix + ]; + + # apple smc (TODO: check spi) + boot = { + initrd.kernelModules = ["applespi" "spi_pxa2xx_platform" "intel_lpss_pci" "applesmc" ]; + kernelParams = [ "intel_iommu=on" ]; + kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.0") pkgs.linuxPackages_latest; + }; + + # Wifi, CPU Microcode FW updates + networking.enableB43Firmware = lib.mkDefault true; + hardware = { + enableRedistributableFirmware = lib.mkDefault true; + cpu.intel.updateMicrocode = lib.mkDefault true; + }; +} diff --git a/apple/imac/default.nix b/apple/imac/default.nix new file mode 100644 index 0000000..ea15175 --- /dev/null +++ b/apple/imac/default.nix @@ -0,0 +1,8 @@ +{ + imports = [ + ../. + ../../common/cpu/intel + ../../common/pc/laptop + ../../common/pc/laptop/ssd + ]; +}