{ description = "Miller Nix User Repository"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 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"; }; outputs = inputs@{ self, nixpkgs, flake-utils, home-manager, darwin, ... }: let systems = [ "x86_64-linux" "aarch64-linux" # "x86_64-darwin" "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 = import ./overlays; homeManagerModules.default = import ./modules/home-manager; nixosModules.default = import ./modules/nixos; darwinModules.default = import ./modules/darwin; }; }