From fc715cdf32b6bb4f951dd655427e6916f5b132fd Mon Sep 17 00:00:00 2001 From: TrudeEH Date: Sun, 13 Oct 2024 22:02:15 +0100 Subject: [PATCH] Support both Intel and Apple Silicon macs Fixes #12 --- install.sh | 9 ++++++++- nix/macOS/flake.nix | 17 ++++++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/install.sh b/install.sh index 8b5e1cf5..c6d2cde0 100755 --- a/install.sh +++ b/install.sh @@ -50,7 +50,14 @@ case $main_menu in mkdir -p ~/.config/nix-darwin/ cp -rf ./nix/macOS/* ~/.config/nix-darwin/ cp -f ./nix/home.nix ~/.config/nix-darwin/ - nix --extra-experimental-features "nix-command flakes" run nix-darwin -- switch --flake ~/.config/nix-darwin#default + + if [[ $(uname -m) == "x86_64" ]]; then + echo "Intel mac detected." + nix --extra-experimental-features "nix-command flakes" run nix-darwin -- switch --flake ~/.config/nix-darwin#x86 + else + echo "Apple silicon detected." + nix --extra-experimental-features "nix-command flakes" run nix-darwin -- switch --flake ~/.config/nix-darwin#default + fi ;; *) echo "Invalid option selected." diff --git a/nix/macOS/flake.nix b/nix/macOS/flake.nix index 28cf3880..d67e98f4 100644 --- a/nix/macOS/flake.nix +++ b/nix/macOS/flake.nix @@ -143,8 +143,14 @@ enableKeyMapping = true; remapCapsLockToControl = true; }; + }; - nixpkgs.hostPlatform = "x86_64-darwin"; # aarch64-darwin for ARM + intel = { pkgs, config, ... }: { + nixpkgs.hostPlatform = "x86_64-darwin"; + }; + + apple-silicon = { pkgs, config, ... }: { + nixpkgs.hostPlatform = "aarch64-darwin"; }; in { @@ -153,6 +159,15 @@ darwinConfigurations.default = nix-darwin.lib.darwinSystem { modules = [ configuration + apple-silicon + inputs.mac-app-util.darwinModules.default + inputs.home-manager.darwinModules.default + ]; + }; + darwinConfigurations.x86 = nix-darwin.lib.darwinSystem { + modules = [ + configuration + intel inputs.mac-app-util.darwinModules.default inputs.home-manager.darwinModules.default ];