From 95c3dfe6ef2e96ddc1ccdd7194e3cda02ca9a8ef Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Mon, 26 Aug 2024 13:09:14 +0200 Subject: [PATCH] Apple iMac 14,2: init --- README.md | 1 + apple/imac/14-2/README.md | 61 +++++++++++++++++++++++++++++++++++++ apple/imac/14-2/default.nix | 37 ++++++++++++++++++++++ flake.nix | 3 +- 4 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 apple/imac/14-2/README.md create mode 100644 apple/imac/14-2/default.nix diff --git a/README.md b/README.md index 32e6720..1f51b11 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,7 @@ See code for all available configurations. |------------------------------------------------------------------------|---------------------------------------------------------| | [Acer Aspire 4810T](acer/aspire/4810t) | `` | | [Airis N990](airis/n990) | `` | +| [Apple iMac 14.2](apple/imac/14-2) | `` | | [Apple iMac 18.2](apple/imac/18-2) | `` | | [Apple MacBook Air 3,X](apple/macbook-air/3) | `` | | [Apple MacBook Air 4,X](apple/macbook-air/4) | `` | diff --git a/apple/imac/14-2/README.md b/apple/imac/14-2/README.md new file mode 100644 index 0000000..3512750 --- /dev/null +++ b/apple/imac/14-2/README.md @@ -0,0 +1,61 @@ +# iMac 14,2, NixOS (nixos-unstable, September 2024) + +## Audio +- [x] ok + +## Bluetooth +- [x] ok + +## Thunderbolt +- [x] ok + +## SATA +- [x] ok + +## NVME +- [x] ok + +## Suspend/Resumer +- [x] ok + +## Wifi +- [x] ok + +## Graphics +- [x] Latest unsupported Nvidia drivers available are 390.157, working with Kernel 6.10.6. + +## LSPCI + +``` +❯ lspci +00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Controller (rev 06) +00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06) +00:14.0 USB controller: Intel Corporation 8 Series/C220 Series Chipset Family USB xHCI (rev 05) +00:16.0 Communication controller: Intel Corporation 8 Series/C220 Series Chipset Family MEI Controller #1 (rev 04) +00:1b.0 Audio device: Intel Corporation 8 Series/C220 Series Chipset High Definition Audio Controller (rev 05) +00:1c.0 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #1 (rev d5) +00:1c.2 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #3 (rev d5) +00:1c.3 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #4 (rev d5) +00:1c.4 PCI bridge: Intel Corporation 8 Series/C220 Series Chipset Family PCI Express Root Port #5 (rev d5) +00:1f.0 ISA bridge: Intel Corporation Z87 Express LPC Controller (rev 05) +00:1f.2 SATA controller: Intel Corporation 8 Series/C220 Series Chipset Family 6-port SATA Controller 1 [AHCI mode] (rev 05) +00:1f.3 SMBus: Intel Corporation 8 Series/C220 Series Chipset Family SMBus Controller (rev 05) +01:00.0 VGA compatible controller: NVIDIA Corporation GK104M [GeForce GTX 775M Mac Edition] (rev a1) +01:00.1 Audio device: NVIDIA Corporation GK104 HDMI Audio Controller (rev a1) +02:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 +03:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4360 802.11ac Dual Band Wireless Network Adapter (rev 03) +04:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme BCM57766 Gigabit Ethernet PCIe (rev 01) +04:00.1 SD Host controller: Broadcom Inc. and subsidiaries BCM57765/57785 SDXC/MMC Card Reader (rev 01) +05:00.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Controller [Cactus Ridge 4C 2012] (rev 03) +06:00.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Controller [Cactus Ridge 4C 2012] (rev 03) +06:03.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Controller [Cactus Ridge 4C 2012] (rev 03) +06:04.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Controller [Cactus Ridge 4C 2012] (rev 03) +06:05.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Controller [Cactus Ridge 4C 2012] (rev 03) +06:06.0 PCI bridge: Intel Corporation DSL3510 Thunderbolt Controller [Cactus Ridge 4C 2012] (rev 03) +07:00.0 System peripheral: Intel Corporation DSL3510 Thunderbolt Controller [Cactus Ridge 4C 2012] (rev 03) +``` + +## Links + +- https://support.apple.com/en-us/111970 +- https://everymac.com/ultimate-mac-lookup/?search_keywords=iMac14,2 diff --git a/apple/imac/14-2/default.nix b/apple/imac/14-2/default.nix new file mode 100644 index 0000000..e85e172 --- /dev/null +++ b/apple/imac/14-2/default.nix @@ -0,0 +1,37 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + imports = [ + ../. + ../../../common/gpu/intel + ../../../common/gpu/nvidia + ../../../common/hidpi.nix + ]; + + boot = { + initrd.kernelModules = [ + "applesmc" + "applespi" + "intel_lpss_pci" + "spi_pxa2xx_platform" + "kvm-intel" + ]; + blacklistedKernelModules = [ + "b43" + "ssb" + "brcmfmac" + "brcmsmac" + "bcma" + ]; + kernelPackages = lib.mkIf (lib.versionOlder pkgs.linux.version "6.0") pkgs.linuxPackages_latest; + extraModulePackages = [ config.boot.kernelPackages.broadcom_sta ]; + }; + + hardware = { + bluetooth.enable = lib.mkDefault true; + }; +} diff --git a/flake.nix b/flake.nix index 7ff974a..619d4b9 100644 --- a/flake.nix +++ b/flake.nix @@ -8,6 +8,8 @@ in { acer-aspire-4810t = import ./acer/aspire/4810t; airis-n990 = import ./airis/n990; + apple-imac-14-2 = import ./apple/imac/14-2; + apple-imac-18-2 = import ./apple/imac/18-2; apple-macbook-air-3 = import ./apple/macbook-air/3; apple-macbook-air-4 = import ./apple/macbook-air/4; apple-macbook-air-6 = import ./apple/macbook-air/6; @@ -17,7 +19,6 @@ apple-macbook-pro-12-1 = import ./apple/macbook-pro/12-1; apple-macbook-pro-14-1 = import ./apple/macbook-pro/14-1; apple-macmini-4-1 = import ./apple/macmini/4; - apple-imac-18-2 = import ./apple/imac/18-2; apple-t2 = import ./apple/t2; asus-battery = import ./asus/battery.nix; asus-ally-rc71l = import ./asus/ally/rc71l;