{ description = "Miller Nix User Repository"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05"; flake-utils.url = "github:numtide/flake-utils"; home-manager.url = "github:nix-community/home-manager"; darwin.url = "github:LnL7/nix-darwin"; darwin.inputs.nixpkgs.follows = "nixpkgs"; rust-overlay = { url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ self, nixpkgs, flake-utils, home-manager, darwin, rust-overlay, ... }: let systems = [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" ]; forAllSystems = f: nixpkgs.lib.genAttrs systems f; in { packages = forAllSystems ( system: let pkgs = import nixpkgs { inherit system; overlays = [ self.overlays.default ]; }; in import ./pkgs { inherit pkgs; } ); devShells = forAllSystems ( system: let pkgs = import nixpkgs { inherit system; }; in { default = pkgs.mkShell { packages = with pkgs; [ nixfmt-rfc-style ]; }; } ); overlays.default = nixpkgs.lib.composeManyExtensions [ rust-overlay.overlays.default (import ./overlays) ]; homeManagerModules = import ./modules/home-manager self; nixosModules.default = import ./modules/nixos; darwinModules.default = import ./modules/darwin; }; }