diff --git a/flake.lock b/flake.lock index 3c0ece3..15a5151 100644 --- a/flake.lock +++ b/flake.lock @@ -23,16 +23,15 @@ ] }, "locked": { - "lastModified": 1748263294, - "narHash": "sha256-YOjjNfkzrDMpndTen2tYn4DBB2BbrvRJMQf/45wDZU0=", + "lastModified": 1747514947, + "narHash": "sha256-irRDuerdVu495nBgkhCUjCi2mRpPig0F6cKMoIOfScA=", "owner": "tpwrules", "repo": "nixos-apple-silicon", - "rev": "f198b8d27fdc1eee591c88a789e58497daaf3c1e", + "rev": "db46177593e24f68e802455875850cdeaf49eb1c", "type": "github" }, "original": { "owner": "tpwrules", - "ref": "pull/303/head", "repo": "nixos-apple-silicon", "type": "github" } @@ -54,11 +53,11 @@ }, "flake-compat": { "locked": { - "lastModified": 1746162366, - "narHash": "sha256-5SSSZ/oQkwfcAz/o/6TlejlVGqeK08wyREBQ5qFFPhM=", + "lastModified": 1688025799, + "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", "owner": "nix-community", "repo": "flake-compat", - "rev": "0f158086a2ecdbb138cd0429410e44994f1b7e4b", + "rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c", "type": "github" }, "original": { @@ -92,11 +91,11 @@ ] }, "locked": { - "lastModified": 1748455938, - "narHash": "sha256-mQ/iNzPra2WtDQ+x2r5IadcWNr0m3uHvLMzJkXKAG/8=", + "lastModified": 1748227609, + "narHash": "sha256-SaSdslyo6UGDpPUlmrPA4dWOEuxCy2ihRN9K6BnqYsA=", "owner": "nix-community", "repo": "home-manager", - "rev": "02077149e2921014511dac2729ae6dadb4ec50e2", + "rev": "d23d20f55d49d8818ac1f1b2783671e8a6725022", "type": "github" }, "original": { @@ -142,11 +141,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1748370509, - "narHash": "sha256-QlL8slIgc16W5UaI3w7xHQEP+Qmv/6vSNTpoZrrSlbk=", + "lastModified": 1748190013, + "narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=", "owner": "nixos", "repo": "nixpkgs", - "rev": "4faa5f5321320e49a78ae7848582f684d64783e9", + "rev": "62b852f6c6742134ade1abdd2a21685fd617a291", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 70d3108..ccf049c 100644 --- a/flake.nix +++ b/flake.nix @@ -4,10 +4,8 @@ inputs = { # Specify the source of Home Manager and Nixpkgs. nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; - # Temporarily use https://github.com/tpwrules/nixos-apple-silicon/pull/303 - # as stable mesa now supports the Asahi ABI fully. apple-silicon-support = { - url = "github:tpwrules/nixos-apple-silicon?ref=pull/303/head"; + url = "github:tpwrules/nixos-apple-silicon"; inputs.nixpkgs.follows = "nixpkgs"; }; # Allows for easy enumeration of available Darwin and Linux systems. @@ -56,14 +54,13 @@ }); # Next, we provide Linux-specific home-manager configurations, - # assist Garnix in building the linux-asahi kernel for aarch64-linux, # and expose our default packages to the world. packages = let - ############################### - # Linux-specific home manager # - ############################### - linuxHomeManager = linuxSystems (system: { + ########################## + # Linux-specific options # + ########################## + linuxConfiguration = linuxSystems (system: { homeConfigurations = { # We currently assume that Linux devices only require # dotfiles and utilize the username `spotlight`. @@ -86,19 +83,10 @@ }); # For all platforms, export our packages for CI to build. - overlayPackages = allSystems (system: import ./pkgs/default.nix { + exportedPackages = allSystems (system: import ./pkgs/default.nix { pkgs = nixpkgs.legacyPackages.${system}; }); - # On aarch64-linux, additionally re-export Asahi-related packages. - # This allows it to be cached via Garnix if necessary, saving local build time. - asahiPackages = { - aarch64-linux = { - linux-asahi-kernel = inputs.apple-silicon-support.packages.aarch64-linux.linux-asahi.kernel; - m1n1 = inputs.apple-silicon-support.packages.aarch64-linux.m1n1; - }; - }; - # We must use recursiveUpdate in order to go deeper beyond one level. # For example, `linuxConfiguration` provides `packages.x86_64-linux.homeConfiguration` # and `exportedPackages` provides `packages.x86_64-linux.`. @@ -107,9 +95,8 @@ # and either packages or the home-manager configuration end up being replaced. # This is not ideal :( recursiveUpdate = nixpkgs.lib.recursiveUpdate; - exportedPackages = recursiveUpdate overlayPackages asahiPackages; in - recursiveUpdate linuxHomeManager exportedPackages; + recursiveUpdate linuxConfiguration exportedPackages; # We provide a NixOS module for easy usage within other system flakes. # (Again, we assume a default name of `spotlight` under Linux.) diff --git a/hosts/linux/spotlights-macbook-air/configuration.nix b/hosts/linux/spotlights-macbook-air/configuration.nix index 4b17c1e..ab61681 100644 --- a/hosts/linux/spotlights-macbook-air/configuration.nix +++ b/hosts/linux/spotlights-macbook-air/configuration.nix @@ -23,8 +23,13 @@ time.timeZone = lib.mkForce null; # Asahi Linux support - # Options such as `withRust` are no longer necessary. - hardware.asahi.peripheralFirmwareDirectory = /boot/asahi; + hardware.asahi = { + peripheralFirmwareDirectory = /boot/asahi; + # GPU enablement + useExperimentalGPUDriver = true; + experimentalGPUInstallMode = "replace"; + withRust = true; + }; networking = { hostName = "spotlights-macbook-air"; diff --git a/pkgs/ipsw.nix b/pkgs/ipsw.nix index 808ba4f..214c61d 100644 --- a/pkgs/ipsw.nix +++ b/pkgs/ipsw.nix @@ -4,16 +4,16 @@ # `buildGoModule` currently uses Go 1.23. buildGo124Module rec { pname = "ipsw"; - version = "3.1.607"; + version = "3.1.605"; src = fetchFromGitHub { owner = "blacktop"; repo = "ipsw"; rev = "v${version}"; - hash = "sha256-S7/u5fFksy8VU61rP/NEQOlqzu21WlHoihzzdmvmWYk="; + hash = "sha256-IqkJ+xH4Ks1lN3Z5Uft0aP+vZjq1cmls2/eJJWfG66g="; }; - vendorHash = "sha256-kZMc8bMDIH7GzkBc5rZcVy1eXagK08rpt1YCy4IDunQ="; + vendorHash = "sha256-JwuAbPaeNdwGH1LD2jikhDmCJbJdMubdjpvvSbrhcfU="; buildInputs = with pkgs; [ unicorn