{ description = "dart"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nix-darwin = { url = "github:LnL7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, nix-darwin, home-manager, rust-overlay }: let system = "aarch64-darwin"; pkgs = import nixpkgs { inherit system; overlays = [ rust-overlay.overlays.default ]; config.allowUnfree = true; }; in { darwinConfigurations."dart" = nix-darwin.lib.darwinSystem { inherit system; specialArgs = { inherit rust-overlay; }; modules = [ home-manager.darwinModules.home-manager ./modules/system.nix ./modules/packages/cli.nix ./modules/packages/languages.nix ./modules/packages/media.nix ./modules/packages/networking.nix ./modules/homebrew.nix ./modules/librewolf.nix ./modules/home/default.nix ]; }; devShells.${system}.default = pkgs.mkShell { packages = with pkgs; [ (rust-bin.stable.latest.default.override { extensions = [ "rust-src" "rust-analyzer" ]; targets = [ "aarch64-apple-darwin" ]; }) helix ]; }; }; }