{ description = "NixOS Flake"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.05"; home-manager = { url = "github:nix-community/home-manager/release-23.05"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, home-manager, ... }: { # Used with `nixos-rebuild --flake .#` # nixosConfigurations."".config.system.build.toplevel must be a derivation nixosConfigurations.nixos = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; # Used to pass non-default parameters to submodules. # specialArgs = {...}; # Modules can be attribute sets or a function that returns an attribute set. # https://nixos-and-flakes.thiscute.world/nixos-with-flakes/nixos-with-flakes-enabled modules = [ ./configuration.nix home-manager.nixosModules.home-manager { home-manager = { useGlobalPkgs = true; useUserPackages = true; users.jrpotter = import ./jrpotter; }; } ]; }; }; }