{ description = "NixOS Flake"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; bootstrap = { url = "github:jrpotter/bootstrap/v0.1.2"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager/release-23.05"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { nixpkgs, bootstrap, home-manager, sops-nix, ... }: let system = "x86_64-linux"; in { nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { inherit system; modules = [ ./configuration.nix sops-nix.nixosModules.sops home-manager.nixosModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; users.jrpotter = import ./jrpotter; # Used to pass non-default parameters to submodules. extraSpecialArgs = { inherit system; bootstrap = bootstrap.packages.${system}.default; }; }; } ]; }; }; }