{ config, lib, pkgs, nixos-apple-silicon, ... }: { imports = [ nixos-apple-silicon.nixosModules.apple-silicon-support ]; # boot settings boot = { loader.systemd-boot.enable = true; loader.efi.canTouchEfiVariables = false; plymouth.enable = true; initrd.systemd.enable = true; # expand display to notch region kernelParams = [ "apple_dcp.show_notch=1" ]; # check nixos-apple-silicon documentation on this, # if keyboard weirdness ever comes up. # extraModprobeConfig = '' # options hid_apple iso_layout=0 # ''; # show a nix logo on asahi m1n1 boot! m1n1CustomLogo = ../../assets/nix-256x256.png; }; # swap zramSwap = { enable = true; algorithm = "zstd"; swapDevices = 1; memoryPercent = 50; }; # hardware hardware = { enableAllFirmware = true; enableRedistributableFirmware = true; graphics = { enable = true; enable32Bit = lib.mkForce false; }; bluetooth.enable = true; # asahi-specific settings! asahi = { enable = true; # proprietary apple firmware extracted during installation. # it can also be found in /boot/asahi, but needs to be # included here for flake purity. peripheralFirmwareDirectory = ../../assets/m1-firmware; # mesa useExperimentalGPUDriver = true; experimentalGPUInstallMode = "replace"; # probably no longer used. # sound setupAsahiSound = true; # kernel withRust = true; }; }; # internet/wifi networking = { networkmanager = { enable = true; wifi.backend = "iwd"; }; wireless.iwd = { enable = true; settings.General.EnableNetworkConfiguration = true; }; }; # sound security.rtkit.enable = true; services.pipewire = { enable = true; alsa = { enable = true; support32Bit = true; }; pulse.enable = true; jack.enable = true; }; }